美文网首页
git学习(3)

git学习(3)

作者: 王韬_ | 来源:发表于2018-04-09 14:29 被阅读0次

    今天发现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)

          本文链接:https://www.haomeiwen.com/subject/qeabhftx.html