git rebase私有功能分支

时间:2012-11-26 22:25:58

标签: git git-rebase git-fork

我们有一个共享的git存储库,每个人都使用,我们有两个分支

  • 主人
  • dev的

我有自己的这个回购的分支。我不时将上游repo中的更改提取到fork中的相应分支,然后将我的功能分支重新绑定到dev。

  • 主人
  • dev的
  • 特征1

命令:

git checkout dev
git pull upstream dev
git checkout feature1
git rebase dev

现在我不时将我的feature1分支推回到我的分支,我被告知我的分支已经过时并且做了拉动然后我发生了合并冲突。

我是并且将成为唯一一个处理这个分支/分支的人,所以我很困惑为什么我会遇到这些合并冲突。

即使没有其他人正在使用推出的分支,这是一个重新定位的问题吗?有什么方法可以解决此问题或更好的工作流程

1 个答案:

答案 0 :(得分:2)

这是因为你正在改变你的变化。完成后,您的分支不再包含与之前相同的提交,它包含反映相同(或类似更改)的新提交。当您尝试推送这些更改时,git会注意到目标存储库上当前分支提示的提交不是您尝试设置为该分支的新提示的提交的祖先。

你需要使用git push -f来强制推动,即使它不是快进。但是,当你这样做时,你需要小心你没有从那个分支中删除其他变化。如果只在您的单个存储库中修改了该分支,那么在该分支上使用-f应该没问题,但您肯定要小心不要推送到master或{{ 1}}使用该标志的分支。