远程分支落后于主人

时间:2017-07-12 02:28:46

标签: git github

我使用BFG Repo Cleaner作为指示here,然后推到远程。

在那之后,我意识到我的分支在前面和后面都有几百次提交 在使用repo清洁器之前,每个分支应该提前几个最近的提交。我认为它创造了一个全新的完全不相交的历史。

我尝试在每个分支上执行rebase master,但似乎有很多冲突文件。它几乎经历了历史,并期望为每个提交解决冲突。显然这非常耗时,并且存在很大的错误空间。

是否有一种更清晰,更快捷的方法来修复所有这些本地分支机构,以便仅通过最近的提交来领先于主机?

1 个答案:

答案 0 :(得分:3)

  

我认为它创造了一个全新的完全不相交的历史。

是的,这就是BFG所做的:它重写历史记录以清除某些(大)文件的提交。

如果您已强行推送到遥控器,则需要将本地分支提取并重置为新的远程分支(确保您没有正在进行本地修改)。

git fetch
git branch tmp
git reset --hard origin/myBranch

如果你在tmp进行了一些新的提交,git cherry-pick它们位于重置分支之上

然后你可以从新的状态恢复新的提交。