zoukankan      html  css  js  c++  java
  • 2017-03-10<Git管理修改>

    Git管理修改

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

    什么是修改?

    比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改。

    实验:

    第一步,对readme.txt做一个修改,比如加一行内容:Git tracks changes.

     

    $ cat readme.txt

    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 add readme.txt$ git status# On branch master# Changes to be committed:#   (use "git reset HEAD <file>..." to unstage)##       modified:   readme.txt#

    然后,再修改readme.txt:git tracks changes of files

    $ cat readme.txt

    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 of files.

    提交:

    $ git commit -m "git tracks changes"

    [master d4f25b6] git tracks changes

     1 file changed, 1 insertion(+)

    提交后,再看看状态:

    $ git status# On branch master# Changes not staged for commit:#   (use "git add <file>..." to update what will be committed)#   (use "git checkout -- <file>..." to discard changes in working directory)##       modified:   readme.txt#

    no changes added to commit (use "git add" and/or "git commit -a")

     

    提交后,用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 add -> 第二次修改 -> git commit

    Git管理的是修改,当你用git add命令后,在工作区的第一次修改被放入暂存区,准备提交,但是,在工作区的第二次修改并没有放入暂存区,所以,git commit只负责把暂存区的修改提交了,也就是第一次的修改被提交了,第二次的修改不会被提交。

    如果想把两次修改合并后一块提交了

    第一次修改 -> git add -> 第二次修改 -> git add -> git commit

    小结

    现在,你又理解了Git是如何跟踪修改的,每次修改,如果不add到暂存区,那就不会加入到commit中。

     

  • 相关阅读:
    316 Remove Duplicate Letters 去除重复字母
    315 Count of Smaller Numbers After Self 计算右侧小于当前元素的个数
    313 Super Ugly Number 超级丑数
    312 Burst Balloons 戳气球
    309 Best Time to Buy and Sell Stock with Cooldown 买股票的最佳时间含冷冻期
    Java 类成员的初始化顺序
    JavaScript 全局
    HTML字符实体
    Java中的toString()方法
    JavaScript 弹窗
  • 原文地址:https://www.cnblogs.com/livelihood/p/6538743.html
Copyright © 2011-2022 走看看