经过前面的步骤,我们已经成功地向Git仓库中添加并提交了一个readme.txt
文件。现在,我们继续对该文件进行修改,以展示Git如何处理文件的变更。
首先,我们修改了readme.txt
文件的内容,将其从“Git is a version control system.”改为“Git is a distributed version control system.”。
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")
这个输出告诉我们,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.
这个命令显示了readme.txt
文件的差异,显示的格式正是Unix通用的diff格式,从中我们可以看到在第一行添加了“distributed”这个单词。
知道了对readme.txt
作了什么修改后,再把它提交到仓库就放心多了,接下来,我们将修改添加到暂存区,准备提交:
$ git add readme.txt
再次运行git status
,我们可以看到修改已经被添加到暂存区,准备提交:
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: readme.txt
最后,我们提交这些修改:
$ git commit -m "add distributed"
[master e475afc] add distributed
1 file changed, 1 insertion(+), 1 deletion(-)
提交后,再次运行git status
确认仓库状态:
$ git status
On branch master
nothing to commit, working tree clean
Git告诉我们当前没有需要提交的修改,工作目录是干净的,意味着所有的变更都已经被提交到了仓库中。这样,我们就完成了一次文件的修改和提交过程。