1,查看当前状态
- cd /path/demo
- git log --stat
-
--stat 参数用于显示每次提交的文件变更
2,探索工作区、暂存区、版本库
- 2.1 修改文件,查看修改状态:
- echo "Nice to meet you." >> welcome.txt
- git diff
- git status -s
- #注意此时输出 M 所在位置是第二列,-s参数是简单输出修改文件及其状态。
- git status
-
- 2.2 尝试提交入库:
- git commit -m "Append a nice line."
- 查看提交记录:
- git log --pretty=oneline
- 没有提交成功,自己看报错信息,自行领悟。
- 2.3 添加需要提交的修改,查看各个阶段的修改状态,提交:
- git add welcome.txt
- git status -s
- 注意此时的 M 所在位置是第一列,留意跟之前的区别。
- 查看文件提交状态:
- git diff
- git diff HEAD
- git diff --cached
- git log --pretty=oneline
- 此时依然没有被提交,只是把要提交的修改添加到提交任务当中,即所谓的暂存区当中。
-
- 尝试此时再次修改文件,并查看状态:
- echo "Bye-Bye." >> welcome.txt
- git diff
- git diff HEAD
- git diff --cached
- git status
- git status -s
- 注意此时两个不同颜色 M ,结合上面两次 git diff 结果,自己领会。
- 提交:
- git commit -m "which version checked in?"
- git diff
- git diff HEAD
- git diff --cached
- git status
- git status -s
- 再次看 M 所在位置,自己领会。
-
- git log
- git log --pretty=online
- git log --stat
- 查看提交历史,结合上面几次对 M 的查询,自己领会提交的过程。
3,用暂存区清理工作区未提交到暂存区的修改
- git checkout -- welcome.txt
- git diff
- git diff HEAD
- git diff --cached
- git status
- git status -s
4,清理工作区为跟踪的文件
- ls
- mkdir -p a/b/c
- touch ab
- ls
- git clean -fd
- ls
- git clean -fd 会删除工作区中所有非跟踪文件和目录
5,探索git diff
- git checkout .
- echo "Bye-Bye." >> welcome.txt
- mkdir -p a/b/c/
- echo "Hello." > a/b/c/hello.txt
- git add .
- echo "Bye-Bye." >> a/b/c/hello.txt
- git status -s
- git diff
- git diff HEAD
- git diff --cached
6,暂存工作状态
- git status
- git stash
- git status
- ls
- cat welcome.txt
- git diff
- git diff HEAD
- git diff --cached