從 Git Gui 管理的Repository(庫) 提交更改到 Bonobo服務器管理的Repository(庫)
要提交更改到Bonobo服務器管理的某個Repository(庫),必須先得在Bonobo服務器上有此Repository(庫)——簡直就是廢話。那么怎么才能這個Repository(庫)變出來呢?其實很簡單,在Bonobo網站里新建一個就可以了,具體步驟看看這篇隨筆。這里介紹如何在Git Gui上新建本地Repository(庫),并在本地新建文件、修改文件,然后將更改commit(提交)到本地庫,最后push(推)到遠程的Bonobo服務器。操作步驟和注意事項如下:
- 打開Git Gui,如圖所示:

- 點擊“Create New Repository”,進入如下界面,并為新的本地庫選擇一個目錄:

- 點擊“Create”按鈕,新建本地庫的操作就算完成了,進入如下界面:

新建的本地庫里只有一個“.git”文件夾,是Git用于文件版本管理的,我們不用動它。此時新建的本地庫對應的目錄如下所示:

下面介紹怎么提交對本地庫中文件的修改到遠程的Bonobo服務器,步驟如下:
- 我們在本地庫對應的目錄下,新建一個用于測試的文本文檔,隨便輸入幾個文字,如下圖所示:

- 保存并關閉剛才新建的文本文檔,在“Git Gui”中點擊“Rescan”按鈕,“Git Gui”會檢索出新建了的或修改了的,但未提交到本地庫的文件,如下圖所示:

- 在“Unstaged Changes”中選中剛新建的“測試.txt”文件,點擊“Stage Changed”按鈕,選中的文件就會進入“Staged Changes(Will Commit)”,此時文件就準備好了以提交到本地庫(此時還未提交到本地庫),點擊“Sign Off”按鈕,進行署名(請看最下面的網摘),如下圖所示:

- 點擊“Commit”按鈕,將新建的“測試.txt”文件提交到本地庫,此時狀態欄會顯示如:“Created Commit 782dec06:Signed-off-by unknown ...”字樣,如下圖所示:

- 點擊“Push”按鈕,就可以把本地庫推到遠程Bonobo服務器的遠程庫里,如下圖所示:

此處的“Arbitrary Location”框填寫遠程庫的地址,遠程庫的地址可以從Bonobo服務器網站中找到,操作為:在庫管理頁面,點擊相應的遠程庫名字,進入所選遠程庫的詳細信息頁,如下所示:

將“Git庫位置”復制到上圖的“Arbitrary Location”框,點擊“push”按鈕,按提示輸入用戶名和密碼,“Git Gui”就正式開始向遠程庫推數據,圖示如下:



OK!推送成功,讓我們看看遠程庫有哪些新東西(原先只有“info”和“pack”兩個文件夾):

關于署名:
Sign your work(為你的作品署名)
To improve tracking of who did what, especially with patches that can percolate to their final resting place in the kernel through several layers of maintainers, we've introduced a "sign-off" procedure on patches that are being emailed around.(大體意思是:為了加強對誰做了什么的跟蹤,我們引入了“署名”這個步驟)
因為在 Linux 的開發過程中,他們并不使用 GitHub 創造的「pull request」,而是通過(分布式的)電子郵件寄送補?。ㄋ?git 對郵件有著相當好的支持)。補丁寄來寄去的,就需要跟蹤了,不然像 BSD 經歷過的那樣扯起皮來影響開發就不好了?!窼igned-off-by」實際上是一個聲明,你保證寄送的補丁符合「Developer's Certificate of Origin 1.1」里邊那幾點。
StackOverflow 上有人說了,這只是少數幾個項目的要求,大部分項目并不使用 sign-off。
PS: 你如果看內核提交的話,有時能看到一個 commit 有一長列 sign-off 的。這種情況下僅僅一個 committer 和一個 author 怎么夠呢?

浙公網安備 33010602011771號