Git執行變更操作


在本文章教學中,我們將演示如何新增檔案到 Git 儲存庫,並對儲存庫中的檔案作修改和提交。

注意:在開始學習本教學之前,先克隆一個儲存庫,有關如何克隆儲存庫,請參考: /6/67/2091.html

現在,在克隆儲存庫之後,我們開始學習 Git 基本的檔案修改和版本管理操作。假設要使用 sample 這個儲存庫來協同管理一個Python的專案。首先建立一個Python的程式碼檔案: main.py ,編寫了一些程式碼完成並儲存檔案後,main.py 現在的內容如下所示:

#!/usr/bin/python3
#coding=utf-8

print ("Life is short, you need Python !")

假設上面程式碼編譯並通過了測試,一切正常。 現在,我們可以安全地將這些更改新增到儲存庫。

檢視當前工作區狀態 -

$ git status -s
?? main.py

Git在檔案名之前顯示兩個問號。因為到目前操作為止,這些檔案還不是Git的一部分(Git還不能控制這些檔案),這就是Git不知道該怎麼處理這些檔案。 這就是為什麼,Git在檔案名之前顯示問號。

現在,Git新增操作(git add命令)將檔案新增到暫存區域。

$ git add main.py

在執行上命令後,已將檔案新增到儲存區域,git status命令將顯示臨時區域中存在的檔案。

$ git status -s
A  main.py

上面檔案中,看到檔案名稱前面多了一個大寫字母:A,表示該檔案已新增到 Git 臨時區域中了。

要提交更改,可使用了git commit命令,後跟-m選項。 如果忽略了-m選項。 Git將開啟一個文字編輯器,我們可以在其中編寫多行的提交備註訊息。

在執行 git commit命令之前,一定要先執行 git add 命令。

$ git commit main.py

這裡因為忽略了-m選項,所以會開啟一個 vim 編輯器,可在引編輯器中寫入提交說明備註資訊,如下所示 -

如上圖中,寫了一條提交說明備註資訊:「this is main.py file commit mark without use -m option」,退出 VIM 編輯器儲存檔案後, Git 會自動提交。當然,也可以直接使用以下命令一步完成。

git commit main.py -m "this is main.py file commit mark use -m option"

執行上面程式碼,結果如下 -

$ git commit main.py -m "this is main.py file commit mark use -m option"
[master 5eccf92] this is main.py file commit mark use -m option
 1 file changed, 2 insertions(+), 1 deletion(-)

在提交檢視紀錄檔詳細資訊後,執行git log命令。它將使用提交ID,提交作者,提交日期和提交的SHA-1雜湊顯示所有提交的資訊。

$ git log

上述命令將產生以下結果:

$ git log
commit 5eccf92e28eae94ec5fce7c687f6f92bf32a6a8d
Author: your_name <[email protected]>
Date:   Fri Jul 7 18:52:06 2017 +0800

    this is main.py file commit mark use -m option

commit 6e5f31067466795c522b01692871f202c26ff948
Author: your_name <[email protected]>
Date:   Fri Jul 7 18:42:43 2017 +0800

    this is main.py file commit mark without use "-m" option

commit 290342c270bc90f861ccc3d83afa920169e3b07e
Author: Maxsu <[email protected]>
Date:   Fri Jul 7 16:55:12 2017 +0800

    Initial commit

前面我們說過,要提交修改過的檔案,首先使用 git add <file> ,然後再執行 git comit <file> -m "??mark",但是這兩步也可以一步完成,如下所示 -

$ git commit -a -m "??mark"