廖雪峰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中,也就不会更新到版本库中了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

学习廖雪峰的Git教程

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

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

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

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

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

根据廖雪峰老师的git教程,得出的个人总结

//本人跟着廖雪峰老师的教程学习之后的个人总结。摘抄和自己收获到的知识点。http://www.liaoxuefeng.com/ (廖雪峰老师的官方网站)     git -- 分布式版本控制软件,免...
  • mangoyiy
  • mangoyiy
  • 2017年04月13日 17:33
  • 567

廖雪峰的Git教程

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

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

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

python学习(一) 根据廖雪峰老师的资料进行自学

因为整数和浮点数在计算机内部储存方式不同 所以说 整数的运算是精确的(包括整数的除法) 然而浮点数的运算是存在四舍五入的误差的 在python中 None是一个特殊的值,不代表0,是个特殊的空值 ...
  • mbypineapple
  • mbypineapple
  • 2016年09月08日 19:03
  • 635

Python学习笔记- 廖雪峰教程【python 2】//为继续学习爬虫准备-02 [待完善]

装饰器的作用: 1 简化代码,避免每个函数编写重复性代码:打印日志@log,检测性能 @performance,数据库事务 @transaction,URL路由@post('/register') ...
  • NaomiEdna
  • NaomiEdna
  • 2016年09月24日 21:01
  • 1524

廖雪峰Python教程学习笔记

廖雪峰写了一个Python教程,比较基础,文风也比较口语化,阅读学习体验都不错,推荐给需要者。 本博文记录阅读该教程的一些总结和遇到的问题。 1. 在dict和set中使用tuple 事实证明...
  • zhuanzhu123
  • zhuanzhu123
  • 2015年10月18日 16:39
  • 2681

Python练习 - 廖雪峰教程

#coding:utf-8 # print absolute value of an integer: a=90 if a>=0: print a else: print -a print 'I...
  • lcj1105
  • lcj1105
  • 2016年04月22日 18:07
  • 1216
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:廖雪峰Git教程笔记(七)管理修改
举报原因:
原因补充:

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