git 管理修改

摘要:
步骤1,对readme.txt进行更改,例如添加一行内容:[root@node1git]#Catreadme.txtGitisasdistributedversioncontrolsystem.GitisfreesoftwareedituteundertheGPL.Githasamurableindexcalledstage.Gittrackchanges.然后,添加[root@node1git]#gitaddreadme.txt[root@node1git]#Gitstatus#Onbranchmaster#Changestobe committed:###modified:readme.txt#然后修改readme.txt[root@node1git]#Catreadme.txtGitisasdistributedversioncontrolsystem.GitisfreesoftwareeditributedwiththeGPL.Githasamutableindexcalledstage.Gittrackchangesoffiles.提交:[root@node1git]#Gitcommit-m“gittrackchanges”[master129a7ec]gittrackchanges1filechanged,1插入(+)提交后,检查状态[root@node1git]#Gitstatus#Onbranchmaster#Changesnotstagedforcommit:###modified:readme。txt#nochangesaddtocommit第二次修改未提交审查操作过程:第一次修改-˃gitadd-˃第二次更改-˃gitcommitGit管理修改。当您使用gitadd命令时,工作区中的第一个修改会被放入暂存区进行提交,但工作区中第二个修改不会被放入暂存区域,因此,Gitcommit只负责将更改提交到暂存区,即,提交第一个更改,而不提交第二个更改。

为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件

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

为什么说Git管理的是修改,而不是文件呢?我们还是做实验。第一步,对readme.txt做一个修改,比如加一行内容:

[root@node1 git]# 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.

然后,添加

[root@node1 git]# git add readme.txt 
[root@node1 git]# git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#    modified:   readme.txt
#

然后,再修改readme.txt

[root@node1 git]# 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.

提交:

[root@node1 git]# git commit -m "git tracks changes"
[master 129a7ec] git tracks changes
 1 file changed, 1 insertion(+)

提交后,查看看状态

[root@node1 git]# 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 add -> 第二次修改 -> git commit

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

提交后,用 git diff HEAD -- readme.txt 命令可以查看工作区和版本库里面最新版本的区别:

root@node1 git]# git diff HEAD -- readme.txt
diff --git a/git/readme.txt b/git/readme.txt
index 76d770f..a9c5755 100644
--- a/git/readme.txt
+++ b/git/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 add第二次修改,再git commit,就相当于把两次修改合并后一块提交了:

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

每次修改,如果不add到暂存区,那就不会加入到commit中。

免责声明:文章转载自《git 管理修改》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇git 撤销修改Git 工作区和暂存区下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Git的使用及常用命令

Git分为三个区域:工作区、缓存区、仓库区基本信息配置: git config --global user.name '账号' git config --global user.email '邮箱'流程: 文件首先在工作区生成创建,然后将文件提交到缓存区(git add 文件名 或者 git add -A 全部提交),然后再提交到仓库区(git commi...

git 工作中常用命令

git 工作中常用命令 git 命令: git init : 初始化 git add . :添加所有文件 git status :查看状态 若果是第一次会提示你输入你的 邮箱 和姓名: git commit -m "这个版本修改过的一些描述" :添加到他和远程 仓库 git log : 查看远程常库有几个版本 git reflog :详细查看 g...

SourceTree使用图解

看完这篇文档你能做到的是: 1、简单的用Git管理项目。 2、怎样既要开发又要处理发布出去的版本bug情况。 SourceTree是一个免费的Git图形化管理工具,mac下也可以安装。 下载地址:https://www.sourcetreeapp.com/ 参考: http://www.liaoxuefeng.com/wiki/001373951630592...

git

1、git init 在命令行输入git init,初始化文件,会出现一个隐藏的文件加.git,此时代表当前这个文件夹及其以下内容都被git管理了。 在dome建立一个js文件,vscode会显示U文件后缀标记 作用:创建生产暂存区和本地仓库 2、git status 查看文件的状态,红色表示工作区,绿色表示暂存区 3、git add...

git安装心得

每天码代码打卡任务,老师需要我们提交链接,这就需要我们把自己打的代码文件上传到GitHub上来,以此获得链接。自己是一个新人,安装git也是什么都不懂(跟着网上的教程也总是能出错)安装正常操作:https://www.cnblogs.com/sdcs/p/8270029.html然而第一次安装中间出现不少问题,主要还是因为自己不知道要输的代码的含义,导致自己...

git推送新项目到github

1、首先在github上新建一个裸仓库 得到新仓库地址 2、打开本地要添加项目的目录,右键选择git bash,执行命令 (1)git init (2)git remote add origin https://github.com/Ivy-zheng/tp5web.git 这是有可能会报错 git remote add origin********...