git 回滚文件总结
2023-07-03 本文已影响0人
林希品
git回滚文件总结
修改完还未git add
修改完,还未 git add,使用 git checkout 回滚:
git checkout .
或
git checkout -- XPAppBaseProject/AppUI/MainModule/Main/XPAppMainViewController.m
使用暂存区的文件覆盖工作区,所以执行完 git add . 之后,再执行该命令是无效的。 git checkout . 和 git add . 是一对反义词。
git add提交还未commit
使用 git add 提交到暂存区,还未 commit 之前,使用 git reset 和 git checkout 回滚:
git reset # 先用 Head 指针覆盖当前的暂存区内容
git checkout . # 再用暂存区内容覆盖工作区内容
或者
git reset --hard
直接使用 head 覆盖当前暂存区和工作区。
已经git commit还未git push
已经执行了 git commit,但还没有执行 git push,使用 git reset 回滚:
git reset --hard last_commit_id
覆盖本地仓库、暂存区和工作区。
已经git push
修改错了,完全覆盖掉,使用:
git reset --hard commit_id