我有大量的提交,大约20个,这是我自上次推动origin / master以来所做的。我从来没有过多个分支,主,所有提交都是在master上完成的。如何将所有20个提交压缩到一个提交中,最好使用sourcetree?我想这样做,所以我可以将一个提交推送到origin / master。
在sourcetree中,我已经想到在存储库菜单中使用交互式rebase命令。它会显示我想要压缩的确切提交列表。我尝试反复按下壁球按钮,直到它显示一个包含所有这些按钮的提交。但是当我点击OK时,我最终只得到两个最近提交的提交。因此,即使对话框似乎表明它可以在实践中压缩多个,但我无法使其工作。
答案 0 :(得分:16)
更容易解决方案(而不是变基):
在日志条目中选择“origin / master”提交,单击“Reset <branch> to this commit
”。
使用默认的混合模式。
然后添加并提交:您将在一个新提交中再次注册所有更改,您将能够推送。
有关详情,请参阅git reset
Demystified。