1. 程式人生 > >Git學習筆記3——修改檔案、檢視修改、提交修改

Git學習筆記3——修改檔案、檢視修改、提交修改

修改檔案

我們已經成功地新增並提交了一個readme.txt檔案,現在,是時候繼續工作了,於是,我們繼續修改readme.txt檔案,改成如下內容:

Git is a distributed version control system.
Git is a 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告訴我們readme.txt被修改了,但如果能看看具體修改了什麼內容,自然是很好的。比如你休假兩週從國外回來,第一天上班時,已經記不清上次怎麼修改的readme.txt,所以,需要用git diff 命令看看:

$ git diff readme.txt
diff --git a/readme.txt b/readme.txt
index 0065b6f..0a30af0 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 a free software.

git diff顧名思義就是檢視difference,作用是顯示暫存區和工作區的差異,顯示的格式正是Unix通用的diff格式,可以從上面的命令輸出看到,我們在第一行添加了一個distributed單詞。

知道了對readme.txt作了什麼修改後,再把它提交到倉庫就放心多了。

提交修改

第一步

git add [file]

$ 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 status告訴我們,將要被提交的修改包括readme.txt。

第二步

git commit -m [message]

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

提交後,我們再用git status命令看看倉庫的當前狀態:

$ git status
On branch master
nothing to commit, working tree clean

Git告訴我們當前沒有需要提交的修改,而且,工作目錄是乾淨(working tree clean)的。

小結

提交修改與新增檔案到Git倉庫的步驟一樣:

  1. git add [file]
  2. git commit -m [message]

要隨時掌握工作區的狀態,使用git status命令。 如果git status告訴你有檔案被修改過,用git diff可以檢視修改內容。