我有一个分支,用于将最新的更改部署到特定环境中。我们称之为测试。测试分支用于将其拥有的任何内容部署到测试环境中。
现在我处理名为feature1的功能分支中的一个功能。我已经完成了我的更改,并且已将我的功能分支中的所有内容合并为主。
已经部署到测试中的测试分支中的内容已成功测试并移至uat环境。现在我想将master中的所有内容都放入测试分支中,以便将我的更改部署到测试环境中。我有几个问题!我有点犹豫要做合并,因为我担心它可能会发生冲突,我必须手动解决它们。
如何在本地和远程更换测试分支以使用master中的最新内容?我的主人有一个提交ID。我希望我的测试分支根据此提交ID更新其内容。
这是一个好方法吗?有什么建议吗?
答案 0 :(得分:1)
是的,只需使用合并:
$ git checkout master
$ git merge <commit>
$ git push
如果要将master
合并到test
,请在git merge
分支中运行test
命令:
$ git checkout test
$ git merge <commit>
$ git push
基本上,git merge
将始终将合并到当前分支中。
答案 1 :(得分:1)
--abort
合并。
如果这是您想要的,您可以cherry-pick
从master到您的测试分支的单个提交。你可以 - 也可以这样做,如果这会导致冲突并且你不想删除它们。
最后,您可以简单地checkout master -- .
覆盖测试分支中的所有跟踪文件,然后查看差异。但这将是一种非常粗鲁的方式,它会创建一个与feature1和master中的提交无关的新提交。
AND 请阅读您的手册! git help merge
,git help cherry-pick
,git help reset
,git help checkout
...等等。 (如果您喜欢,请尝试git help --web git
。)
答案 2 :(得分:1)
我建议创建另一个由master&amp;组成的分支。有问题的测试分支。
您可能会发现这有用:How do I check out a remote Git branch?
答案 3 :(得分:0)
我记得以下几点:
git checkout master
git pull
git checkout featureBranch
git pull
git merge master
git push origin featureBranch