我应该将master合并到一个分支中,然后合并回master吗?

Arn*_*Roa 25 git branch git-merge

我有以下分支:

  • master
  • test1,这是由 master
  • test2,也是由master.

我在test1分支上做了多次提交,而且,因为我创建了test1分支,所以我创建了多个提交master.

还有一些提交test2,我打算master稍后再合并.

眼下想到的是,我需要从我的变化master,如果可能的话,从test2test1.

我想知道我是否可以合并masterTEST1的,所以我从获得的提交mastertest,之后我完成我的功能test1,再合并,要master.那可能吗?或者会引发冲突?

是否有可能合并test2test1,然后合并test2成主,最后,合并test1master

请问Git是否知道某些提交已经合并到正在合并的分支中?

Gáb*_*yal 15

我想知道我是否可以将MASTER合并到TEST1中,所以我在测试时获得了master的提交,在test1上完成我的功能之后,再将它合并到MASTER.那可能吗?或者它会引发冲突?

这究竟是怎么做的.将master合并到test1时可能会遇到冲突,您必须手动解析.之后,您应该能够将test1合并到master中而不会发生冲突.

如果可能的话,可以将test2合并到test1中,接下来将test2合并到master中,然后将test1合并到master中吗?

这是可能的,但不可取.而是将master合并到test2中,然后将test2合并回master.(与test1相同.)

在此之后,所有更改都应该在master中.

请问git是否知道某些提交已经合并到正在合并的分支中?

是的,与SVN不同,Git知道这样的提交.

  • 罗勒,为什么你不喜欢不变? (5认同)
  • 将 master/dev 合并到 feature 中,然后再将 feature 合并到 master/dev 中,这就是一个项目杀戮。通过这样做,您可以将这些更改从 master/dev 提交到您的分支,从而对您的分支负责。然后,当合并回来时,您正在“应用”您的工作+您不应该拥有的来自 master/dev 的提交。我个人认为这种方法是一种不好的做法,可能会导致代码丢失。如果您是唯一在您的分支上工作的人,那么只需重新设置基础,或者根据情况创建一个临时分支来挑选您的分支的提交并在其上重置您的分支。 (2认同)

rbe*_*nto 6

要在与它合并时始终保持最新并且不引发冲突,您可以执行以下操作:

git checkout test1
git rebase master
Run Code Online (Sandbox Code Playgroud)

此时,您将与master保持同步,并在test1上提交您的提交.

rebase 会做以下事情:

  • 在test1与master不同并放入临时区域之后,选择test1上的所有提交.
  • 在与test1不同的点之后从master中选择所有提交并将它们带到test1.在这一点上,两个分支都是最新的.
  • 然后它将从临时区域中获取test1提交并将它们应用于test1之上.此时test1将与master保持同步并将其提交置于最佳状态.当它发生时,任何可能存在的冲突都会出现,您可以解决它们.

在此之后,合并回主人将是一个快进.

git checkout master
git merge test1
Run Code Online (Sandbox Code Playgroud)

我喜欢这种方法的有以下几点:

  • 这很简单.
  • 轻松掌握分支机构的最新信息.
  • 消除合并提交,因为冲突在rebase时解决.

我已经应用了很长一段时间了,它似乎适合你想要完成的任务.

  • 通过远程存储库跟踪test1和test2(及其所有提交),我听说对于在远程存储库上提交的分支进行rebase是不好的想法? (6认同)
  • 是的,除非你在推动之前做所有这些,这就是想法。完全没有问题。尝试一个小项目,看看它是否适合你。 (2认同)