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

如果我在Git中创建一个分支,是否可以将父分支合并回我的工作分支?,git,Git,如果我在Git中创建一个分支,为了收集其他人签入的更改,是否总是可以将父分支合并回我的工作分支 假设我从master和feature分支开始 如果我签出了功能,并创建了一个新分支: feature> git checkout -b moreFeatureWork 然后,如果我提交所有更改并将我的工作合并到功能中: moreFeatureWork> git commit -a -m "Commit my changes" feature> git merge --no-ff m

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

假设我从
master
feature
分支开始

如果我签出了
功能
,并创建了一个新分支:

feature> git checkout -b moreFeatureWork
然后,如果我提交所有更改并将我的工作合并到功能中:

moreFeatureWork> git commit -a -m "Commit my changes"
feature> git merge --no-ff moreFeatureWork
然后,假设我下周需要在那个分支上做更多的工作。我把它搁置了一周,在此期间,许多其他人已经将他们的工作合并到
功能中

是否可以这样做,用最新的更改更新我的分支

moreFeatureWork> git merge feature

或者,这会有问题吗?

据我所知,您没有修改您的
moreFeatureWork
分支?你只是想在开始工作之前了解最新情况

如果一切顺利,人们只在你的
功能
分支上添加了内容,那么你建议的合并应该只进行快速推进,并使
更多功能工作
保持最新

然而,就我个人而言,我更喜欢一个
moreFeatureWork>git-rebase功能

这样,当您对分支做了一些更改后,甚至可以更新您的
moreFeatureWork
分支

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

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

分支或类似的东西。

对于开发长时间运行功能的开发人员来说,这是一种相对常见的做法,但需要与来自上游的更改保持一致

如果您这样做,应该不会有任何问题(如果您和其他人在同一个空间中工作,则会出现合并冲突或两个冲突)

如果您想保持历史记录的干净,您应该选择在您的分支上重新设置分支的基础:

git rebase <feature>
git-rebase

您可能会遇到合并冲突,但它们与您将两个分支合并在一起时没有什么不同。

是的,当然。为什么会有疑问?我以前从未使用过rebase。感谢您为我强调这一可能性。:-)请注意,对于许多项目,在发出请求之前都需要执行重基。@o11c:这是我第一次听说这些要求。同样,其他团队/开发过程也有自己的细节。