Git執行變更操作
在本文章教程中,我們將演示如何添加文件到 Git 存儲庫,並對存儲庫中的文件作修改和提交。
注意:在開始學習本教程之前,先克隆一個存儲庫,有關如何克隆存儲庫,請參考: http://www.yiibai.com/git/git\_clone\_operation.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"