Git推播(push)操作


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

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

在前面的文章中,都在要本地編寫檔案程式碼和提交,維護管制自己的檔案版本,然後這種「自娛自樂」的方式,意義不是很大,在這裡將介紹如何與其它的開發人員協同開發工作:每個開發人員都可以提交自己貢獻的程式碼,並讓其他人看到和修改。

要協同多人一起工作,可通過修改操作將程式碼檔案最後一個確定版本提交,然後再推播變更。 推播(Push)操作將資料永久儲存到Git倉庫。成功的推動操作後,其他開發人員可以看到新提交的變化。

執行git log命令檢視提交的詳細資訊。最後一次提交的程式碼的提交ID是:51de0f02eb48ed6b84a732512f230028d866b1ea,如下所示 -

$ git log
commit 51de0f02eb48ed6b84a732512f230028d866b1ea
Author: your_name <[email protected]>
Date:   Fri Jul 7 23:04:16 2017 +0800

    add the sum of a & b

commit be24e214620fa072efa877e1967571731c465884
Author: your_name <[email protected]>
Date:   Fri Jul 7 18:58:16 2017 +0800

    ??mark

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

在推播(push)操作之前,如想要檢查檔案程式碼變化,可使用git show命令指定提交ID來檢視具體的變化。

$ git show 51de0f02eb48ed6b84a732512f230028d866b1ea
commit 51de0f02eb48ed6b84a732512f230028d866b1ea
Author: your_name <[email protected]>
Date:   Fri Jul 7 23:04:16 2017 +0800

    add the sum of a & b

diff --git a/main.py b/main.py
index 657c8d0..25eb22b 100644
--- a/main.py
+++ b/main.py
@@ -3,5 +3,9 @@

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

-# this is a comment line

+a = 10
+
+b = 20
+c = a + b
+print("The value of c is  ", c)
\ No newline at end of file

注意:每一行程式碼前面的 -號和+號。-號表示刪除,+號表示新增。如下 -

-# this is a comment line

+a = 10
+
+b = 20
+c = a + b
+print("The value of c is  ", c)

如果對上面的提交修改沒有疑義,則我們就可以將檔案程式碼推播到遠端儲存庫中,從而讓其它開發人員可看檢視和修改這些程式碼,現在就來看看怎麼提交這些寫好的程式碼,使用以下命令 -

$ git push origin master

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

$ git push origin master
Username for 'http://git.oschina.net': [email protected] <輸入帳號>
Password for 'http://[email protected]@git.oschina.net': <輸入登入密碼>
Counting objects: 13, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (12/12), done.
Writing objects: 100% (12/12), 1.20 KiB | 0 bytes/s, done.
Total 12 (delta 3), reused 0 (delta 0)
To http://git.oschina.net/yiibai/sample.git
   290342c..51de0f0  master -> master

在上面命令中,需要您提提供( http://git.oschina.net )使用者名和密碼。

如上所示,現在程式碼已經成功地提交到了遠端儲存庫( http://git.oschina.net )中了。要驗證提交的結果,遠端儲存庫中的內容是否是最後一次提交的資訊,我們可以在另外一個空的目錄中或在另外一台機器上使用 git clone 克隆出完整的檔案程式碼,例如,在目錄:E:\workspace 下執行以下命令 -

$ git clone http://git.oschina.net/yiibai/sample.git
Cloning into 'sample'...
remote: Counting objects: 15, done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 15 (delta 3), reused 0 (delta 0)
Unpacking objects: 100% (15/15), done.
Checking connectivity... done.

在執行上面命令後,開啟檔案: E:\workspace\sample\main.py ,其程式碼內容如下 -

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

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

a = 10

b = 20
c = a + b
print("The value of c is  ", c)

可以看到此檔案與最後一個版本的內容一樣。