1、 修改上一次提交的文案
git commit —amend
我第一次提交时运行了命令: git add . git commit -m “add some thing"
但是commit后悔了,需要做一些修改再提交
再次提交的时候运行 git commit —amend 这时候log日志只显示一条信息
2、 撤销操作
* 在执行了commit 命令时 : 回滚到某一个版本`git reset —hard` 提交的id\[commit\_id\] 要回退到未来 可以使用 git reflog \[由上到下分别显示的是最新的提交命令\]查看历史命令,这样再使用回滚到某一个版本的命令,执行回滚即可
* 在未执行 commit但执行了 add,可使用 `git reset HEAD file`,便回到执行add 之前的状态(从stage状态回到modified状态)
* 对file做了一些修改,但没有执行 add ,这个时候执行 `git checkout - - file`便可撤销所有的修改
3、 删除了某一个分支,恢复上面的东西
* git log -g找回删掉的commit\_id
* git branch 新分支名 commit\_id 即可
4、 单独恢复某个文件
* git log 文件名 —>找到要回退的版本
* git reset commitID 文件名 —>这时候可能会出现这样的 Unstaged changes after reset
* git checkout — 文件名 即可
5、 git clean 删除工作目录中没有tracked的文件
-n 不会删除任何文件,只是提醒
-f 删除当前目录下没有track过的文件,不删除.gitignore指定的文件和文件夹
-df 删除没有track的文件和文件夹
-xd 删除没有track过的文件,不管是否在.gitignore指定
6、 git rm 从Unmodified状态到modified状态
7、 git reset —soft HEAD^
回到最后一次commit —amend
,即commit 到stage状态
> —soft 缓存区和工作目录都不会改变
附录
git文件修改的状态变更