git diff
查看HEAD(版本库中当前提交)指向的目录树:
$ git ls-tree -l HEAD
显示暂存区的目录树:
$ git ls-files -s
若想针对暂存区的目录树使用git ls-tree,需先将暂存区的目录树写入Git对象书,然后针对该目录树执行命令git ls-tree:
$ git write-tree
$ git ls-tree -l 9431f4a #write-tree输出的ID的前几位
$ git write-tree | xargs git ls-tree -l -r -t
# -r参数递归显示目录内容,-t参数把递归过程中遇到的每棵树都显示出来,不只是显示最终文件。
1)工作区和暂存区比较:
$ git diff
2)暂存区和HEAD比较:
$ git diff --cached
3)工作区和HEAD比较:
$ git diff HEAD
git status命令时查看当前工作区的状态。
保存当前工作进度:
$ git stash
#############################################################################################################################
git stash
保存当前工作进度:
git stash #会分别对工作区和暂存区状态进行保存
git stash save "message..." #也可指定说明
# --patch显示工作区和HEAD的差异;-k或--keep-index保存进度后不会将暂存区重置
显示进度列表:
git stash list
删除存储的一个进度:
git stash drop
删除所有存储的进度:
git stash clear
从最近保存的进度中进行恢复:
git stash pop
git stash apple除了不删除恢复的进度外,和pop相同。
基于进度创建分支: git stash branch
//a test:
1、提交: git commit -m "add new file:hello.txt"
查看提交后的状态: git status -s
2、反悔了,回到之前的状态: git reset --soft HEAD^
查看最新提交日志: git log -l --pretty=oneline
查看工作区和暂存区的状态:git status -s
3、想将工作区中的文件提交:
git add welcome.txt
git status -s
4、想将a/hello.txt撤出暂存区:
git reset HEAD a
git status -s
5、想将暂存区中的文件撤出,不想提交:
git reset
6、想将工作区中所有的修改(welcome.txt)清除,删除添加的目录a即其子目录、文件:
git checkout -- welcome.txt
git status
git clean -nd #Would remove a/
git clean -fd #Removing a/
git status -s