Git:我只是想删除最后一次提交

时间:2018-02-07 11:16:35

标签: git

我更改了一些文件,添加了一个文件并执行以下命令:

step 1. git add -A

step 2. git commit -m 'test'

之后使用时:git push origin integration然后需要很长时间,因为我错误地添加了一个大尺寸文件。所以我只需要删除最后一次提交,并需要从步骤1开始,所以我删除这个大文件并再次推送

1 个答案:

答案 0 :(得分:4)

这个答案假设您的推送尚未成功,但您已完成提交。在这种情况下,由于没有其他人看到你的分支与大提交,你应该是安全的实际nuking提交:

git reset --hard HEAD~1

这将删除头部提交,之后您可以继续工作。一个稍微好一些,风险较小的选项,就是改为软复位:

git reset --soft HEAD~1

这将保留阶段中顶级提交的更改。然后,您可以取消暂存大文件,并重新开始工作。

请注意,如果 已经使用该大型提交成功推送,那么您手上就会遇到更大的问题。现在,即使您还原该提交,大文件仍将是repo中历史记录的一部分。在这种情况下,您需要一个像BFG repo cleaner这样的工具来删除大文件。