git学习(3)

今天发现git dff命令不好使,查了一些资料才发现原来在提交到master区之前的改动才能用git diff 显示出改动过程。


git存储原理

只有在gti commit之前提交才是有效的
  • 未被添加的程序是就是untracked状态
  • 只有在commit之前使用diff才是有效的

管理修改

git跟踪并管理的是修改,而非文件

如果在add之后对文件又进行了修改,commit提交的只有进入缓存区的文件,而非再次修改的文件

修改文件 > git add >第二次修改 > git commit > 提交的是第一次修改的文件
修改文件 > git add > 第二次修改 > git add > git commit >提交的是第二次修改的文件

总结:如果不add到缓存区就不回加入到commit中。

使用git diff HEAD -- file.file查看修改的文件与版本库的文件对比

git diff HEAD -- readme.txt
$ git diff HEAD -- readme.txt 
diff --git a/readme.txt b/readme.txt
index 76d770f..a9c5755 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,4 +1,4 @@
 Git is a distributed version control system.
 Git is free software distributed under the GPL.
 Git has a mutable index called stage.
-Git tracks changes.
+Git tracks changes of files.

撤销修改

  • 在未提交到工作暂存区时使用git checkout -- file命令撤销修改
$ git checkout -- readme.txt
  • 在提交到暂存区使用git reset HEAD file命令将文件从暂存区撤销到工作区,文件内容不变。
$ git reset HEAD file
  • 提交到master区,使用git reset --hard HEAD^命令,即版本回退命令

删除文件

  • 使用rm命令删除工作区文件
$ rm file
  • git rm file 将删除文件的事提交到暂存区
$ git rm file
  • 再未提交到暂存区时,可以使用git checkout 命令还原

你可能感兴趣的:(git学习(3))