如果我在Git中创建一个分支,是否可以将父分支合并回我的工作分支?

时间:2015-04-24 20:10:06

标签: git

如果我在Git中创建分支,是否可以将父分支合并回我的工作分支,以便收集其他人已签入的更改?

假设我从masterfeature分支开始。

如果我签出了feature并且我创建了一个新分支:

feature> git checkout -b moreFeatureWork

然后,如果我提交所有更改并将我的工作合并到功能中:

moreFeatureWork> git commit -a -m "Commit my changes"
feature> git merge --no-ff moreFeatureWork

然后,让我说下周我需要在那个分支上做更多的一周。我让它坐了一个星期,与此同时,很多其他人已将他们的工作合并到feature

可以这样做,用最新的更改更新我的分支吗?

moreFeatureWork> git merge feature

或者,这会有问题吗?

2 个答案:

答案 0 :(得分:2)

对于正在开发长期运行功能的开发人员而言,这是一种相对常见的做法,但需要与来自上游的更改保持一致。

如果你这样做的话,不应该有任何问题(除非你和其他人在同一个地方工作,否则会发生两次合并冲突)。

如果您想保持历史记录清洁,您应该选择rebase代替您的分支:

git rebase <feature>

您可能会遇到合并冲突,但它们与您合并两个分支的情况没有什么不同。

答案 1 :(得分:0)

据我了解,您没有修改moreFeatureWork分支?您只想在开始工作之前获得“最新”?

如果一切顺利且人们只在feature分支上添加了内容,那么您建议的合并应该只执行快进并保持moreFeatureWork最新。

然而,我个人更喜欢moreFeatureWork> git rebase feature 这样,当您对moreFeatureWork分支进行一些更改时,甚至可以更新它。

注意:假设您的moreFeatureWork分支之前已完全合并到feature,您当然可以删除该分支并创建新分支。

feature> git branch -d moreFeatureWork
feature> git checkout -b moreFeatureWork2

分支或类似的东西。