autrolValar Morghulis, Valar Dohaeris.
使用Git的过程中,失误无法避免,虽然Git很强,但是有些失误,无法挽回。在这里我介绍一些Git的撤销命令。撤销对文件的修改
如下图所示的情况,你修改了文件,但是不想保存对文件的修改。
https://images0.cnblogs.com/blog2015/790101/201508/151800149896700.png
根据具体情况,你可以选择执行下面的命令:
git checkout -- <文件名>#撤销对某个文件的修改
git checkout -- .#撤销对所有文件的修改
删除新建的文件
如下图所示的情况,注意"Untracked files"提示,你新建了文件,但是想删除掉新建的文件。
https://images0.cnblogs.com/blog2015/790101/201508/151819375356536.png
根据具体情况,你可以选择执行下面的命令:
git clean -f #删除 untracked files
git clean -fd#连 untracked 的目录也一起删掉
git clean -n#在用上述 git clean前,强烈建议先执行git clean -n 看看会删掉哪些文件,防止重要文件被误删
不过你也可以直接简单粗暴,手动删除或者执行window的rm命令,删除文件,不过执行git rm命令是没法做到的,必须先add,然后执行git rm -f <文件名>强制删除文件。。。。
撤销暂存区文件
如下图所示的情况,你想撤销add命令添加到暂存区的文件。
https://images0.cnblogs.com/blog2015/790101/201508/151854316452507.png
根据具体情况,你可以选择执行下面的命令:
git reset head <文件名> #撤销对某个文件的add命令
git reset head .#撤销所有文件的add命令
撤销已暂存的文件
你想撤销commit命令,你可以执行下面的命令:
git log#先执行这条命令查看commit的历史
git reset --hard <commit_id> #跳到某次commit
撤销之后,由于本地版本低于线上版本,想要提交代码,只能强行提交,覆盖线上,可以使用下面的命令:
git push -f origin 分支名
注意:
[*]命令行中的空格
[*]其实上面的命令,在Git的命令行窗口中差不多都有提示。。。。。。
页:
[1]