git rebase master在分支提交的顶部导致master提交

时间:2019-10-18 14:48:36

标签: git merge rebase git-rebase

我正在前一段时间从master分支出来的分支中工作。从那时起,我想在分支机构中添加许多功能到master。过去,我通过重播master分支中的提交来使用git rebase 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中的内容。对于我的一生,我无法弄清楚自己在做错什么。这是由于分支既在master之前又在master后面这一事实引起的吗?这似乎是一种相当普遍的情况,所以我不认为这会破坏重新设置工作流的过程。

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

-编辑10/18/19-

我将问题缩小到以下范围,直到深入研究才发现。

事实证明,几个月前,我的分支中的更改已合并为master。此后,将那些不存在的更改的另一个分支合并到master中,从而有效地删除了更改。这意味着这些更改所在的提交不在针对基准的提交列表中。我以为我在列表中看到了提交,但是问题是这是一条非常普通的消息,我只是忽略了。由于这个问题似乎与git无关,也不是我使用rebase的问题,因此我将接受当前答案并将其留在此处以供将来参考。

1 个答案:

答案 0 :(得分:0)

如果您的分支是从master分支开始的,那么您应该运行(如说明中所述,在签出分支之后):

git rebase master