1 | git checkout |
创建新分支:git branch branchName
切换到新分支:git checkout branchName
1 | git config |
1 | git diff -cacheed |
1 | git diff head |
1 | git init |
1 | git status -s |
1 | git reset |
M 版本库和中间状态有差异
M 工作区和当前文件有差异
http://ndpsoftware.com/git-cheatsheet.html#loc=remote_repo;1
$ git stash
1 | git stash pop |
git reset head 重置暂存区
git show 用法
1 | git log --pretty=raw --graph 872b140 |
git reflog show master
git reflog -1 最近一条
git rest –soft 暂存区工作区不变
1、已经修改某一文件, 但是没有执行 git add,如果撤销
git checkout a.txt
2、已经修改某一个文件,但是已经执行了 git add ,如何撤销1
git rest a.txt
3、已经修改了某几个文件,但是没有执行 git add,想撤销到某个版本,但是暂存区、工作区不想撤销
git rest –soft commitId
4、果已经修改了某几个文件,但是没有执行 git add,也提交了暂存区,想撤销到某个commit
1 | git rest --hard commitId |
5、如何查看HEAD指向1
cat ../.git/HEAD
7、Git的官网地址
https://www.kernel.org/pub/software/scm/git/docs/
8、显示简要的增改行数统计,每次提交文件的变更统计,-n 同上,前n条。
1 | $ git log --stat -n |
9、git log 打印如何美化1
$ git log --pretty=format:"%h -%an,%ar : %s" -3
10、git stat -s 命令会出现两个MM,分别是什么意思。
第一个M 版本库和中间状态有差异
第二个M 工作区和当前文件有差异
git log –pretty=format:”%h -%an,%ar : %s” -3
$ git log –pretty=format:”%h -%an,%ar : %s” -3
d0b9a20 -BeginMan,24 hours ago : ok
8c186cd -BeginMan,24 hours ago : mi
b2a3100 -BeginMan,24 hours ago : what?
11、撤销操作
https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E6%92%A4%E6%B6%88%E6%93%8D%E4%BD%9C
以提问中修改了两个文件a、b为例,假设需要撤销文件a的修改,则修改后的两个文件:1、如果没有被git add到索引区git checkout a 便可撤销对文件a的修改2、如果被git add到索引区,但没有做git commit提交1)使用git reset将a从索引区移除(但会保留在工作区)git reset HEAD a2)撤销工作区中文件a的修改git checkout a 3、如果已被提交,则需要先回退当前提交到工作区,然后撤销文件a的修改1)回退当前提交到工作区git reset HEAD^2)撤销工作区中文件a的修改git checkout a 补充:灵活使用以上操作的关键在于理解git中工作区、索引区的概念和git reset命令hard、mixed(default)、soft三种模式的区别,网上有很多这方面的文章,不再赘述。