6.Git内容修改之后的查看和提交

我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容:

Git is a distributed version control system.
Git is free software.

现在,运行git status命令看看结果:

$ 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 status命令可以让我们时刻掌握仓库当前的状态,上面的命令告诉我们,readme.txt被修改过了,但还没有准备提交的修改。

提示最后一句是git提交的合并命令  git commit -a

虽然Git告诉我们readme.txt被修改了,但如果能看看具体修改了什么内容,自然是很好的。比如你休假两周从国外回来,第一天上班时,已经记不清上次怎么修改的readme.txt,所以,需要用git diff这个命令看看:

$ git diff readme.txt
diff --git a/readme.txt b/readme.txt
index 46d49bf..9247db6 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-Git is a version control system.
+Git is a distributed version control system.
 Git is free software.

git diff顾名思义就是查看difference,显示的格式正是Unix通用的diff格式,可以从上面的命令输出看到,我们在第一行添加了一个“distributed”单词。

知道了对readme.txt作了什么修改后,再把它提交到仓库就放心多了,提交修改和提交新文件是一样的两步,第一步是git add

$ git add readme.txt

同样没有任何输出。在执行第二步git commit之前,我们再运行git status看看当前仓库的状态:

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   readme.txt

git status告诉我们,

Changes to be committed  更改将要被提交
 modified:   readme.txt  修改的文件是 readme.txt 

将要被提交的修改包括readme.txt,下一步,就可以放心地提交了:

$ git commit -m "add distributed"
[master ea34578] add distributed
 1 file changed, 1 insertion(+), 1 deletion(-)

提交后,我们再用git status命令看看仓库的当前状态:

$ git status
# On branch master
nothing to commit (working directory clean)

Git告诉我们当前没有需要提交的修改,而且,工作目录是干净(working directory clean)的。

修改文件要更新依然是

git add <file>

git commit -m " "
时间: 2024-11-06 07:33:47

6.Git内容修改之后的查看和提交的相关文章

Git --恢复修改的文件

对于恢复修改的文件,就是将文件从仓库中拉到本地工作区,即 仓库区 ----> 暂存区 ----> 工作区. 对于修改的文件有两种情况: 只是修改了文件,没有任何 git 操作 修改了文件,并提交到暂存区(即编辑之后,gitadd但没有gitadd但没有 git commit -m ....) 修改了文件,并提交到仓库区(即编辑之后,gitadd和gitadd和 git commit -m ....) 情况I: 只是修改了文件,没有任何 git 操作,直接一个命令就可回退: $ git chec

git管理修改

为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件. 新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改. 为什么说Git管理的是修改,而不是文件呢?我们还是做实验.第一步,对readme.txt做一个修改,比如加一行内容: $ cat readme.txt Git is a distributed version control system. Git is fre

2017-03-10&lt;Git管理修改&gt;

Git管理修改 Git跟踪并管理的是修改,而非文件. 什么是修改? 比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改. 实验: 第一步,对readme.txt做一个修改,比如加一行内容:Git tracks changes. $ cat readme.txt Git is a distributed version control system. Git is free software

2017-03-10&lt;Git撤销修改&gt;

Git撤销修改 撤销修改分为两种情况: 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态: 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态. 总之,就是让这个文件回到最近一次git commit或git add时的状态. 情况一:工作区修改还未放到暂存区 添加一条my stu........... $ cat readme.txt Git is a distributed version cont

git撤销操作和历史查看(git log)

git查看历史和撤销操作 撤销提交 git commit --amend可以撤销上一次提交的内容,不过并不是撤销整个提交的记录,当使用这个命令之后可以修改提交信息,同时,这个命令也会自动将暂存区中的所有文件提交.如果自上次提交以来未做任何修改,比如在上次提交之后立即执行这个命令,那么快照会保持不变,所修改的只是提交信息. 首先修改Test7.md,并提交 假如这时候突然发现上一个提交中遗漏了一个Test8.md,这时候只需要将Test8.md添加到暂存区.并使用命令git commit --am

小蚂蚁学习git(2)——Git撤销修改和删除,远程仓库的创建推送和克隆

接上篇(http://my.oschina.net/woshixiaomayi/blog/521265)继续写. 四.Git撤销修改和删除 1.撤销修改 场景:在readme.txt中添加了一段话"今天天气不错".在还未提交之前,发现这句话写的不对,那么有一下几种方式修改:1.直接动手删除掉那些错误的内容,然后再用add添加到暂存区,在commit提交到分支.2.按照上一篇所讲到的使用命令 git reset -hard  HEAD^ 回退到上一个版本.除了昨天说的这两个方法之外,还有

git单独针对一个仓库实现子目录提交修改

项目组有个需求:目前我们线上代码都是git 仓库托管的,开发和前端都需要对仓库中的js目录中的文件进行修改,为了避免冲突,想到了把仓库中的子目录分离开来,让前端工程师可以提交到git 仓库.以前是通过ftp进行更新,会有很多问题.更改了这种方式会提高工作效率 git和svn对比: svn是基于文件方式的集中存储,Git却是基于元数据方式散布式存储文件信息的,它会在每次Clone的时候将所有信息都取回到本地,即相当于在你的机器上生成1个克隆版的版本库,既然本地有了完全的版本库,肯定就有所有权限了,

Git 基础(六)—— 工作区和暂存区与 Git 对修改的管理

工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的 learngit 文件夹就是一个工作区: 版本库(Repository) 工作区有一个隐藏目录.git,这个不算工作区,而是 Git 的版本库. Git 的版本库里存了很多东西,其中最重要的就是称为 stage(或者叫index)的暂存区,还有 Git 为我们自动创建的第一个分支 master,以及指向 master 的一个指针叫 HEAD. 前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的: 第一步

git常用命令点击查看

创建git项目仓库 $git init 配置个人登记信息,这样团队协作的时候,就可以看到哪个用户修改过哪些文件的 $git config --global user.name 'cfanbo' $git config --global user.email "[email protected]" 如果有些临时文件,没有必要提交到分支的话,可以将文件名或者路径信息写到一个 .gitignore 文件里 $echo 'tmp/'>> .gitignore $echo '.zfx