Git 撤销放弃本地修改

如果在修改时发现修改错误,而要放弃本地修改时:

一,未使用 git add 缓存代码时:

可以使用 git checkout -- filepathname (比如: git checkout -- readme.md ,不要忘记中间的 “--” ,不写就成了检出分支了!!)。

放弃所有的文件修改可以使用 git checkout . 命令。

此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除。

但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。

或者使用下面的命令(git clean命令只适用于当前文件夹,记得切换文件夹):

# 删除 untracked files

git clean -f

# 连 untracked 的目录也一起删掉

git clean -df

二,已经使用了 git add 缓存了代码:

可以使用 git reset HEAD filepathname (比如: git reset HEAD readme.md)来放弃指定文件的缓存,放弃所有的缓存可以使用 git reset HEAD . 命令。

此命令用来清除 git 对于文件修改的缓存。相当于撤销 git add 命令所在的工作。在使用本命令后,本地的修改并不会消失,而是回到了如(一)所示的状态。继续用(一)中的操作,就可以放弃本地的修改。

三,已经用 git commit 提交了代码:

可以使用 git reset --hard HEAD^ 来回退到上一次commit的状态。此命令可以用来回退到任意版本:git reset --hard commitid

你可以使用 git log 命令来查看git的提交历史。

git log命令总结

• git log --all 查看所有分支的历史

• git log --all --graph 查看图形化的 log 地址

• git log --oneline 查看单行的简洁历史。

• git log --oneline -n4 查看最近的四条简洁历史。

• git log --oneline --all -n4 --graph 查看所有分支最近 4 条单行的图形化历史。

• git help --web log 跳转到git log 的帮助文档网页

四,git提交命令

git add -u:将文件的修改、文件的删除,添加到暂存区。

将工作空间被修改和被删除的文件添加到暂存区(不包含没有纳入Git管理的新增文件)

git add .:将文件的修改,文件的新建,添加到暂存区。

git add -A:将文件的修改,文件的删除,文件的新建,添加到暂存区。

工作中一般是用到 git add . 或者 git add -A,。今天学习更进一步解了 git add -u 以及他们之间的区别

git add -A相对于git add -u命令的优点 : 可以提交所有被删除、被替换、被修改和新增的文件到数据暂存区,而git add -u 只能操作跟踪过的文件

git add -A 等同于git add -all

总结:

· git add -A 提交所有变化

· git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)

· git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

修改重命名文件:

git mv files Files 只需要一个操作
————————————————
版权声明:本文为CSDN博主「白马不是马」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kuodannie1668/article/details/91383496

原文地址:https://www.cnblogs.com/caihongmin/p/15176277.html