廖雪峰Git教程笔记(七)管理修改

原创 2018年01月13日 17:22:57

假设我们已经掌握了暂存区的概念,本节会更深入的理解Git的修改过程。。。。。

廖雪峰官网教程中对修改的定义是:比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改。

继续跟着官网做实验吧。。。。

在readme里面加一行

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

    modified:   readme

然后,再次修改readme

cat readme
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 b6eb0ee] 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

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

发现并没有被提交 还记得吗?如果在暂存区没有东西,都提交到分支的化,那么应该是“On branch master nothing to commit, working tree clean”了。。。。

我们回顾一下整个过程:

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

因此,整个过程应该是:

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

这里注意,如果不进行git add 直接commit,结果是:

On branch master
Changes not staged for commit:
    modified:   readme

no changes added to commit

因为并没有添加到暂存区

这里查看工作区和版本库的区别:

git diff HEAD -- readme
diff --git a/readme.txt b/readme.txt
index a9c5755..dfc0e83 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 readme
git commit -m "git tracks changes1"
[master 396deb9] git tracks changes1
 1 file changed, 1 insertion(+), 1 deletion(-)

再次查看

On branch master
nothing to commit, working tree clean

小结:如果不add到暂存区,就不会加入大commit中,也就不会更新到版本库中了。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/abc15766228491/article/details/79052585

git笔记 (根据廖雪峰git教程整理)

创建版本库 初始化一个Git仓库,使用git init命令。 添加文件到Git仓库,分两步: 第一步,使用命令git add ,注意,可反复多次使用,添加多个文件...
  • u012804178
  • u012804178
  • 2016-07-27 14:52:55
  • 1828

Git教程By廖雪峰 高清完整PDF版

  • 2014年06月20日 17:11
  • 2.07MB
  • 下载

廖雪峰的Git教程---确实是史上最易懂的Git教程 (有windows电脑和网络即可)

作为集中式版本控制软件, svn并不是一无是处, 小型的kaifa
  • stpeace
  • stpeace
  • 2014-08-08 00:14:27
  • 12134

史上最浅显易懂的Git教程!

从零起步的Git教程,让你无痛苦上手世界上最流行的分布式版本控制系统Git! 既然号称史上最浅显易懂的Git教程,那这个教程有什么让你怦然心动的特点呢? 首先,本教程绝对面向初学者,没有接触过版本...
  • asklxf
  • asklxf
  • 2013-08-21 07:19:35
  • 36864

Git学习(廖雪峰的Git教程)笔记

1.Git是什么? 一直在自己电脑里就一个文件的反复修改,添加。好长时间的精力都在里面,突然有一天手残写坏了,而且Ctrl+Z不再能当做后悔药来用。一个词形容:欲哭无泪。 突然有一天发现了Git,可以...
  • liyuxing6639801
  • liyuxing6639801
  • 2017-03-14 22:52:25
  • 671

廖雪峰的Git教程

分布式版本控制 集中式版本控制系统版本库集中存放在中央服务器,中央服务器保存着最新最全的版本信息问题在于必须联网才能正常工作 分布式版本控制系统 放弃“中央服务器”,每个分布式节点都是完整的版本库 ...
  • visionarywind
  • visionarywind
  • 2016-04-08 17:06:09
  • 1447

[笔记1]---廖雪峰老师的Git教程

传送门:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001373962845...
  • m0_37851778
  • m0_37851778
  • 2017-08-25 09:01:57
  • 891

学习廖雪峰的Git教程

学习廖雪峰的git教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 1.创建版...
  • u010389429
  • u010389429
  • 2016-03-17 15:15:43
  • 1055

廖雪峰Git教程笔记(十九)多人协作

当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。 要查看远程库的信息,用git remote,或者用gi...
  • abc15766228491
  • abc15766228491
  • 2018-02-01 10:24:32
  • 83

廖雪峰 Git教程 PDF版(专业排版)

  • 2015年04月26日 18:59
  • 1.46MB
  • 下载
收藏助手
不良信息举报
您举报文章:廖雪峰Git教程笔记(七)管理修改
举报原因:
原因补充:

(最多只允许输入30个字)