我正在前一段时间从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的问题,因此我将接受当前答案并将其留在此处以供将来参考。
答案 0 :(得分:0)
如果您的分支是从master分支开始的,那么您应该运行(如说明中所述,在签出分支之后):
git rebase master