我們已經(jīng)成功地添加并提交了一個(gè) readme.txt 文件,現(xiàn)在,是時(shí)候繼續(xù)工作了,于是,我們繼續(xù)修改 readme.txt 文件,改成如下內(nèi)容:
Git is a distributed version control system.
Git is free software.
現(xiàn)在,運(yùn)行git status
命令看看結(jié)果:
$ 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
命令可以讓我們時(shí)刻掌握倉(cāng)庫(kù)當(dāng)前的狀態(tài),上面的命令告訴我們,readme.txt 被修改過(guò)了,但還沒(méi)有準(zhǔn)備提交的修改。
雖然 Git 告訴我們 readme.txt 被修改了,但如果能看看具體修改了什么內(nèi)容,自然是很好的。比如你休假兩周從國(guó)外回來(lái),第一天上班時(shí),已經(jīng)記不清上次怎么修改的 readme.txt,所以,需要用git diff
這個(gè)命令看看:
$ 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 格式,可以從上面的命令輸出看到,我們?cè)诘谝恍刑砑恿艘粋€(gè)“distributed”單詞。
知道了對(duì) readme.txt 作了什么修改后,再把它提交到倉(cāng)庫(kù)就放心多了,提交修改和提交新文件是一樣的兩步,第一步是git add
:
$ git add readme.txt
同樣沒(méi)有任何輸出。在執(zhí)行第二步git commit
之前,我們?cè)龠\(yùn)行git status
看看當(dāng)前倉(cāng)庫(kù)的狀態(tài):
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: readme.txt
#
git status
告訴我們,將要被提交的修改包括 readme.txt,下一步,就可以放心地提交了:
$ git commit -m "add distributed"
[master ea34578] add distributed
1 file changed, 1 insertion(+), 1 deletion(-)
提交后,我們?cè)儆?code>git status命令看看倉(cāng)庫(kù)的當(dāng)前狀態(tài):
$ git status
# On branch master
nothing to commit (working directory clean)
Git 告訴我們當(dāng)前沒(méi)有需要提交的修改,而且,工作目錄是干凈(working directory clean)的。
http://wiki.jikexueyuan.com/project/git-tutorial/images/git-diff-status.gif" alt="" />
要隨時(shí)掌握工作區(qū)的狀態(tài),使用git status
命令。
如果git status
告訴你有文件被修改過(guò),用git diff
可以查看修改內(nèi)容。