推送到github后删除或更改提交

时间:2014-12-27 21:17:44

标签: git github git-push git-commit

我做了我的提交并推送到github。然后,我意识到一个是错误的文件,我忘了添加一个新文件。 我想完全撤消或删除我推送的提交,或者从我推送的提交中添加和删除文件。 哪个更容易,我应该怎么做?(我是唯一一个处理这个回购的人,所以没有人没有拉动或改变我的提交。)

2 个答案:

答案 0 :(得分:1)

一种方式:

  1. 使用其他文件创建新提交。
  2. 将最后两个提交压缩成一个。 (git rebase -i HEAD~2)
  3. 再次将此分支推送到github。 (git push -f ...)
  4. 可能还有其他方法。

    但正如其他人提到的那样,重写可公开访问的历史并不是一个好习惯......

答案 1 :(得分:0)

您可以通过多种方式实现这一目标。

第一个是“Lajos”提到的方式 - 将提交压缩成一个。这会对版本历史产生影响,重写公共版本历史(正如其他人所指出的那样)是一件坏事。它可能导致各种令人讨厌的问题,即使你是唯一一个触及回购的人,但是养成不重写公共版本历史的习惯仍然是一个好主意。

更好的方法是进行回归(git revert)。这会创建新的提交,以反转不良提交的更改,并通过向历史记录添加新提交而不是尝试修改现有公开历史记录来执行此操作。

有关详细信息,请参阅git-revert