git 变基主提交会导致在分支提交之上进行主提交



我正在一个分支工作,该分支是不久前从主分支出来的。从那时起,大师们已经添加了许多功能,我想在我的分支中学习这些功能。过去,我使用git rebase master通过在 master 之上重播分支中的提交来重建我的分支。但是,这目前无法正常工作。

这是我正在做的

my-branch shows 63 commits ahead, 10 commits behind master - on github
git checkout master
git pull
git checkout my-branch
git rebase master my-branch

在变基期间,我只遇到了一个很容易修复的合并冲突。变基完成后,我注意到某些文件反映了master而不是my-branch的内容。我一辈子都无法弄清楚我做错了什么。这是因为分支既在前面又落后于主人的事实造成的吗?这似乎是一种相当普遍的情况,所以我认为它不会破坏变基工作流程。

我还尝试进行 git 合并,这会导致my-branch的最终状态完全相同。

--编辑 10/18/19 --

我将问题缩小到以下内容,直到深入挖掘后我才看到。事情是这样的

事实证明,my-branch 中的更改在几个月前已合并到 master 中。之后,缺少这些更改的另一个分支被合并到 master 中,有效地删除了更改。这意味着这些更改所在的提交不在变基的提交列表中。我以为我在列表中看到了提交,但问题是这是一个非常通用的消息,我只是忽略了。由于这个问题似乎不是 git 或我如何使用 rebase 的问题,我将接受当前的答案并将其留在这里以供将来参考。

如果你的分支是从 master 开始的,你应该运行什么(在签出你的分支之后,就像你在说明中所做的那样(:

git rebase master

最新更新