我一直在尝试压缩推送的提交,但它会影响其他文件

时间:2017-06-09 10:13:41

标签: git github

正如你所看到的via this github compare,我只更改了一个文件,但是我做了一堆提交,我想压缩到一个提交。我尝试按照this文章尝试压缩提交。我采取的步骤:

  1. git rebase -i HEAD~20
  2. 然后在我要压缩的所有提交中用pick替换squash
  3. 我输入了git rebase --continue
  4. 根据文章,我必须强制通过git push origin <branch name>将我的分支推送到相应的分支名称。
  5. 然而,当我将新的更改与我要合并的分支进行比较时,我发现rebase影响了我从未接触过的420个文件。此外,对于所有这些更改的作者,它现在说<original author> + <my name>所以它说我修改了所有这些文件。为什么所有这些文件都受到影响?我怎么不正确地压缩提交?

1 个答案:

答案 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"