2012-01-24 83 views
1

我搞砸了。我修改了我的.gitignore來無意中開始跟蹤巨大的misc文件目錄。當我推動起源時,我意識到它正在永遠消失,並看到了我的錯誤。我刪除了(我認爲)這些文件被跟蹤,但現在每當我再次推送它時,它都會以某種方式從之前停止的地方獲取 - 在上傳所有這些大文件的過程中。我保持control-c停止推送。我想阻止git恢復先前的推送,並重新推送最新的提交。git推恢復以前的推

+0

是文件仍然在你的提交歷史? –

+0

我不是一個git嚮導,所以請原諒我對此模糊不清:我可以查看日誌並查看是否添加了這些文件,如果這就是您的意思。 – swt83

回答

1

即使您在下一次提交中刪除了該文件,舊的提交仍然存在,並且仍然會被推送。您需要做一個git reset --hard <sha hash of commit before adding the misc files>

一旦你在上面做了,你添加文件的提交將會消失。你現在可以開始工作和推動。

如果你有添加這些文件之間的其他提交(你需要),現在,你可以做一個git rebase -i <hash before file adding>並刪除提交您添加文件

+0

我最終做了重置。 rebase方法不起作用。 – swt83