是否有可能在Git中还原已提交的文件?我已经提交了对GitHub的提交,然后我意识到有一个文件我不想被推送(我还没有完成更改)。
您是否要在推送后从GitHub完全删除文件?否则,您只需要:git rm <file>,git push。
—
rdrmntn
是否有可能在Git中还原已提交的文件?我已经提交了对GitHub的提交,然后我意识到有一个文件我不想被推送(我还没有完成更改)。
Answers:
更新:添加了更安全的方法
检查文件的先前(未更改)状态;注意双破折号
git checkout HEAD^ -- /path/to/file
提交:
git commit -am "revert changes on this file, not finished with it yet"
推动它,无需用力:
git push
回到未完成的工作,再做一次(向上箭头3次):
git checkout HEAD^ -- /path/to/file
要修改存储库HEAD的最后一次提交,混淆您的不小心推动的工作,同时可能与您的同事发生冲突,而后者可能已经将其拔出,并且他的头发会长白,会浪费很多时间来调和其本地分支头与中央一:
要从上一次提交中删除文件更改:
要将文件还原到上一次提交之前的状态,请执行以下操作:
git checkout HEAD^ /path/to/file
要使用还原的文件更新最后一次提交,请执行以下操作:
git commit --amend
要将更新的提交推送到存储库,请执行以下操作:
git push -f
确实,请考虑使用前面提到的首选方法。
git checkout HEAD~2 /path/to/file
吗?编辑:看起来我想要的只是简单的git rm /path/to/file