使用 git 合并尚未受版本控制的站点
Use git to merge sites that aren't already under version control
我们有一个工作中的网站,我们保留了两个副本 - 一个是实时网站或主副本,另一个是测试/暂存网站,在复制之前进行了重大更改和测试 - 手动时刻 - 到直播网站并发布。
我们刚刚完成了网站结帐大修,这导致创建或修改了大约 40 个文件。
我的问题是:
我们可以创建两个 git 分支,每个站点一个,然后使用 git 生成差异列表并将测试更改合并到实时站点中,即使站点是当前不在版本控制之下吗?
您可以通过为您的网站初始化一个 git 存储库来轻松做到这一点。
cd prod_site
git init
git add -A #You may want to ignore some files like libraries for example, use a .gitignore
git commit -m "Initial prod commit"
现在您的产品站点处于版本控制之下,创建一个分支然后将您的暂存网站复制到它上面。
git checkout -b staging
cp -r /path/to/staging/website .
git commit -am "Staging website"
现在你有两个分支:
master
使用您的产品网站
staging
使用您的暂存网站
现在您可以使用 git diff
列出两个分支之间的差异
git diff master..staging
是的,你可以做到。
您有多种选择:
但是为什么不使用 beyond compare 呢?
使用分支
# cd to the desired folder
# place the content of the first branch in the folder
# init the folder as git repository
git init
# add all the files in the directory and commit them to stash
git add . -A
git commit
# create a new branch for the second content
git checkout -b <b2>
# now copy the second content to this folder
# add the content of the second branch to git
git add . -A
# commit the changes
git commit
正在查看差异
简单的方法是在将第二个分支的内容添加到 git
之前使用 git 状态
在执行此操作之前,请执行上一步:
git状态
# now copy the second content to this folder
git add . -A
git commit
# display the differences between the branches
git status
或
# 显示当前 HEAD 和等待内容的区别
# 承诺
git 添加 .
git 差异
查看更改
您可以通过多种方式查看分支 sin 之间的差异
git log --cc
git log master ^b1
git log ^master b1
gir format-patch HEAD~1
还有更多...
我们有一个工作中的网站,我们保留了两个副本 - 一个是实时网站或主副本,另一个是测试/暂存网站,在复制之前进行了重大更改和测试 - 手动时刻 - 到直播网站并发布。
我们刚刚完成了网站结帐大修,这导致创建或修改了大约 40 个文件。
我的问题是:
我们可以创建两个 git 分支,每个站点一个,然后使用 git 生成差异列表并将测试更改合并到实时站点中,即使站点是当前不在版本控制之下吗?
您可以通过为您的网站初始化一个 git 存储库来轻松做到这一点。
cd prod_site
git init
git add -A #You may want to ignore some files like libraries for example, use a .gitignore
git commit -m "Initial prod commit"
现在您的产品站点处于版本控制之下,创建一个分支然后将您的暂存网站复制到它上面。
git checkout -b staging
cp -r /path/to/staging/website .
git commit -am "Staging website"
现在你有两个分支:
master
使用您的产品网站staging
使用您的暂存网站
现在您可以使用 git diff
git diff master..staging
是的,你可以做到。
您有多种选择: 但是为什么不使用 beyond compare 呢?
使用分支
# cd to the desired folder
# place the content of the first branch in the folder
# init the folder as git repository
git init
# add all the files in the directory and commit them to stash
git add . -A
git commit
# create a new branch for the second content
git checkout -b <b2>
# now copy the second content to this folder
# add the content of the second branch to git
git add . -A
# commit the changes
git commit
正在查看差异
简单的方法是在将第二个分支的内容添加到 git
之前使用 git 状态在执行此操作之前,请执行上一步:
git状态
# now copy the second content to this folder
git add . -A
git commit
# display the differences between the branches
git status
或 # 显示当前 HEAD 和等待内容的区别 # 承诺 git 添加 . git 差异
查看更改
您可以通过多种方式查看分支 sin 之间的差异
git log --cc
git log master ^b1
git log ^master b1
gir format-patch HEAD~1
还有更多...