我知道,如果我犯的东西,我可以取消提交它像这样:如何在添加多次提交后取消提交提交?
get reset HEAD~1
这将有效地“回到”一个承诺。我的问题是,我做了一个提交,然后拉。事实上,我做了一堆拉,增加了越来越多的代码。所以我结束了:
--> Other User Commit A <<-- WAS PUSHED
--> Other User Commit B <<-- WAS PUSHED
--> MY COMMIT <<---- This is what must be UNDONE, that was never pushed
--> Other User Commit E <<-- WAS PUSHED
--> Other User Commit F <<-- WAS PUSHED
因此重置HEAD_1将简单地摆脱“其他用户提交A”。但我只需要删除“我的提交”,这从来没有推过。
关于如何摆脱我的这个承诺的任何想法? (仅供参考,发生了什么事是我无意中提交了一个1.6Gb的文件,并且无法弄清楚为什么push不起作用,但继续工作,并且在进入时拉取新代码...但从来没有推过这个直到我刚刚意识到这个大文件不会在提交...)
任何帮助将不胜感激?
UPDATE
最好的解决办法是一个可以让我“未添加”我添加的文件。
是否有其他人使用你的分支?你可以改写它/重写历史吗? – Makoto
我不能重写历史......我必须只能删除那一个 – coderama
考虑到它是你的代码库中的一个1.6GB文件,我认为你*有*重写历史记录以便能够将它从否则每个拉你的代码的人都会被迫在获取你的分支时把它拉下来。 – Makoto