Git Merge分支与Master

时间:2015-07-06 08:32:01

标签: git

我有一个分支,用于将最新的更改部署到特定环境中。我们称之为测试。测试分支用于将其拥有的任何内容部署到测试环境中。

现在我处理名为feature1的功能分支中的一个功能。我已经完成了我的更改,并且已将我的功能分支中的所有内容合并为主。

已经部署到测试中的测试分支中的内容已成功测试并移至uat环境。现在我想将master中的所有内容都放入测试分支中,以便将我的更改部署到测试环境中。我有几个问题!我有点犹豫要做合并,因为我担心它可能会发生冲突,我必须手动解决它们。

如何在本地和远程更换测试分支以使用master中的最新内容?我的主人有一个提交ID。我希望我的测试分支根据此提交ID更新其内容。

这是一个好方法吗?有什么建议吗?

4 个答案:

答案 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 mergegit help cherry-pickgit help resetgit 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