02 Git 暂存区的理解

2127阅读 0评论2012-08-20 Garfield_Trump
分类:项目管理

1,查看当前状态
  1. cd /path/demo
  2. git log --stat
  3. --stat 参数用于显示每次提交的文件变更
2,探索工作区、暂存区、版本库

  1. 2.1 修改文件,查看修改状态:
  2. echo "Nice to meet you." >> welcome.txt
  3. git diff
  4. git status -s
  5. #注意此时输出 M 所在位置是第二列,-s参数是简单输出修改文件及其状态。
  6. git status


  1. 2.2 尝试提交入库:
  2. git commit -m "Append a nice line."
  3. 查看提交记录:
  1. git log --pretty=oneline
  2. 没有提交成功,自己看报错信息,自行领悟。


  1. 2.3 添加需要提交的修改,查看各个阶段的修改状态,提交:
  2. git add welcome.txt
  3. git status -s
  4. 注意此时的 M 所在位置是第一列,留意跟之前的区别。

  1. 查看文件提交状态:
  2. git diff
  3. git diff HEAD
  4. git diff --cached
  5. git log --pretty=oneline
  6. 此时依然没有被提交,只是把要提交的修改添加到提交任务当中,即所谓的暂存区当中。

  7. 尝试此时再次修改文件,并查看状态:
  8. echo "Bye-Bye." >> welcome.txt
  9. git diff
  10. git diff HEAD
  11. git diff --cached
  12. git status
  13. git status -s
  14. 注意此时两个不同颜色 M ,结合上面两次 git diff 结果,自己领会。

  1. 提交:
  2. git commit -m "which version checked in?"
  3. git diff
  4. git diff HEAD
  5. git diff --cached
  6. git status
  7. git status -s
  8. 再次看 M 所在位置,自己领会。

  9. git log
  10. git log --pretty=online
  11. git log --stat
  12. 查看提交历史,结合上面几次对 M 的查询,自己领会提交的过程。
3,用暂存区清理工作区未提交到暂存区的修改

  1. git checkout -- welcome.txt
  2. git diff
  3. git diff HEAD
  4. git diff --cached
  5. git status
  6. git status -s
4,清理工作区为跟踪的文件

  1. ls
  2. mkdir -p a/b/c
  3. touch ab
  4. ls
  5. git clean -fd
  6. ls
  7. git clean -fd  会删除工作区中所有非跟踪文件和目录
5,探索git diff

  1. git checkout .
  2. echo "Bye-Bye." >> welcome.txt
  3. mkdir -p a/b/c/
  4. echo "Hello." > a/b/c/hello.txt
  5. git add .
  6. echo "Bye-Bye." >> a/b/c/hello.txt
  7. git status -s
  8. git diff
  9. git diff HEAD
  10. git diff --cached
6,暂存工作状态

  1. git status
  2. git stash
  3. git status
  4. ls
  5. cat welcome.txt
  6. git diff
  7. git diff HEAD
  8. git diff --cached








上一篇:01 初识 Git
下一篇:03 Git 对象的理解