git 实用操作

176 阅读1分钟

一、git 还原文件

以提问中修改了两个文件a、b为例,假设需要撤销文件a的修改,则修改后的两个文件:

1、如果没有被 git add 到索引区 git checkout a 便可撤销对文件a的修改
2、如果被 git add 到索引区,但没有做 git commit 提交
  • 使用 git reset 将a从索引区移除(但会保留在工作区)git reset HEAD a
  • 撤销工作区中文件a的修改 git checkout a
3、如果已被提交,则需要先回退当前提交到工作区,然后撤销文件a的修改
  • 回退当前提交到工作区 git reset HEAD^
  • 撤销工作区中文件a的修改 git checkout a

补充:灵活使用以上操作的关键在于理解git中工作区、索引区的概念和 git reset 命令hardmixed(default)soft三种模式的区别,网上有很多这方面的文章,不再赘述。

二、git 删除所有已放入暂存区文件

$ git rm -r -f --cached .

三、git 查看漂亮的log结构图

$ git log --all --decorate --oneline --graph