修复Git中混乱的提交历史记录

时间:2019-05-03 14:42:16

标签: git github version-control

我进行了一些更改,然后提交并推送到GitHub。

但是,在我的第二次提交中,我意识到我不需要在第一次提交中推送的某些代码。我将其删除并再次推送。

但是现在,提交历史非常混乱(一次提交会在文件中添加一些代码,下次提交会删除它)。

  • 如果将它们压在一起,是否可以解决此问题(它会忽略添加的然后删除的代码)吗?
  • 如果我将其重置为原始状态并再次提交我的最终更改,那么一旦按下分支,这将如何在GitHub上反映出来?

1 个答案:

答案 0 :(得分:1)

是的,您应该可以使用交互式变基来压缩它(请参阅https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History

是执行此操作还是重置为原始状态,然后添加仅包含最终更改的提交,要在GitHub上获得此状态,您将需要强制推送,因为远程存储库的历史记录与您的历史记录不同。如果您正在与其他人协作,则可能需要使用--force-with-lease选项来确保自上次推送以来没有人推送过。强制按下后,远程分支的外观应与本地副本相同。