正如你所看到的via this github compare,我只更改了一个文件,但是我做了一堆提交,我想压缩到一个提交。我尝试按照this文章尝试压缩提交。我采取的步骤:
git rebase -i HEAD~20
pick
替换squash
。git rebase --continue
。git push origin <branch name>
将我的分支推送到相应的分支名称。然而,当我将新的更改与我要合并的分支进行比较时,我发现rebase影响了我从未接触过的420个文件。此外,对于所有这些更改的作者,它现在说<original author> + <my name>
所以它说我修改了所有这些文件。为什么所有这些文件都受到影响?我怎么不正确地压缩提交?
答案 0 :(得分:1)
正如你可以通过这个github比较看到的,我只改变了一个文件
我不知道为什么github会显示一个文件被更改,但很多这些提交会更改其他文件。其中许多也是合并,这是rebase
的问题。
如果你真的只想要这个1文件并且主分支中没有剩余的更改(如果有,首先合并),我只是这样做:
git reset origin/master
git diff # verify that the only changes are to the file you want
git commit -am "Desired message"