第三節 Git的使用

Git是一種分散式版本控制系統,整個形狀有的像樹一樣樹枝生根,也有像迴路一般回到主幹。

假設你開發一種叫作惡魔的程式好了你手下有2位成員,主要是依你的程式碼部份,所以你開發的部份稱為主幹(Master),由主幹中建立分支(branch)再交由2成員依據你的理念進行獨立開發手與腳部,當然所謂的獨立還是需要交流與探討,最後決定合併(Merge)如變形金剛的合體。

不過大多數都是個人開發較多,當然在單人開發中也可以發揮到紀錄與回復,也可以對於自己修改的過程進行探討;不過不一定是在Coding才會運用到,對於寫文章的作家也可以運用Git來完善作品。

安裝Git

有關於Git各種教學在網路上實在是太多了,所以這些過程我們就輕描淡寫的帶過。基本上Git也是有多元版本的,而網頁本身會自動載入適合系統的下載連結,或者也可以從下載頁面去取得合適的版本。

Git官方網站 https://git-scm.com/

Windows:

經過Google翻譯過後可以清楚的知道自己應該下載的版本

使用位元我們可以在系統檢視中得知,所謂的攜帶版本可以放進USB中隨時使用,安裝過程幾乎是一鍵完成,安裝完成後如果有特殊需求再去設定Git的環境設定,個人是建議使用GUI減少環境變更。

Debian/Ubuntu:

Linux下大多數是文字介面所以我們輸入以下指令安裝Git。

$ apt-get install git

而安裝完成後,也會自動完成Git環境設定。

GUI:

GUI俗稱圖形化介面,如果不習慣指令輸入就挑選方便使用的介面,當然有些IDE本身也是有相同的系統或插件。

貌似不錯的GUI

雲端資料庫

現在雲端資料庫也是有許多種,不過最常用的應該是以下幾種:

GitHub(https://github.com/)

GitHub是比較常見的免費資料庫,而且大多數IDE也有內建其功能,基本上GitHub並沒有太多使用限制,不過如果需要隱匿開發的朋友就需要花一點小錢了。

Bitbucket(https://bitbucket.org/)

同樣也是免費資料庫,如果是個人使用是絕對大推,可以擁有私人專案不需要額外付費,空間部份也是屬於無限制,不過團隊上會限制5人內對於小團體開發也是一大福音。

Coding(https://coding.net)

來自對岸的免費代碼托管,如果面對語言有不知所措的感覺可以考慮使用,能夠完善資料的話可以取得256M空間以及5個私人專案,比起前2者倒是少了許多福利。

其實連接雲端可以說是一種備份,而且對於分享以及團隊工作有幫助,當你開源式程式時不可能要求看源的朋友都要看你的電腦吧,也不可能一個個寄給他們,所以分享與傳達資訊才是雲端資料庫的重點。

連接雲端與世界接軌

建立本地Git資料庫

接下來我們先使用先前下載的Java IDE來建立新專案,建立後我們再使用Git在專案資料夾內建立Git庫,建立指令:

$ git init

在IntelliJ IDEA內你會看到自己的檔案都變成紅色,這代表著Git還沒有將它們加入庫裏面,不過我們不急著加入免得後續連結出現錯誤。

設定資料庫連接雲端網址

你應該已經選好雲端資料庫,裏面我們建立一個新專案注意不是空的,選好語言、版權類型後在這裡應該自行生成3個文件檔,README.md你可以再裏面寫點程式介紹之類的,建好後我們需要將雲端庫與本地(我們的電腦)庫進行連結,連接的方式有SSH(Secure Shell)與HTTPS(超文字傳輸安全協定 Hypertext Transfer Protocol Secure)兩種方法,HTTPS的使用較為簡單,我們可以在雲端專案內取得。

Coding頁面紅色框線內

將HTTPS連結網址複製下來後執行以下指令:

$ git remote add origin <HTTPS連結網址>

你不一定要使用"origin"這只是一個代號,你也可以使用"coding"通常會再多1~2個備份地點,防止該雲端出現維修或改變規則時我們來的及反應。

當然你可能已經使用"origin"當你雲端的名稱,別擔心,我們可以用以下指令修改:

$ git remote rename origin coding
下載資料

我們可以改用IDE來進行資料下載,這裡我們使用IntelliJ IDEA當範例,選項「VCS」→「Git」→「Pull」,可以看見下圖頁面,選擇雲端資料庫後點選更新,會出現節點,如果你有針對README.md內容進行修改應該有更多節點,全選後點下「Pull」進行資料庫下載/複製到本地資料庫。

第一次Pull應該會跳出帳祕輸入頁面讓你填入,我想,你應該看到IDE增加了3個檔案,而且呈現白色,這代表本地資料庫已經與雲端進行合併。

建立新節點/分支

我們不可能每次修改或新增一個class或方法就上傳一次資料,所以我們將一連串的修改集合,並且一次上傳,每個節點可以加入本次修改說明以方便往後檢討,如果你是開源程式其他人也可以經過說明內容了解你的編輯方向。

基本上,這裡建立的是branch,可是主幹繼續成長如果以分支當作名詞其實有點不妥,如竹生節,節上分枝所以個人對於開發主幹使用節點。

現在我們用IDE修改README.md,修改完成你會發現修改過的檔案會呈現藍色,代表該檔案還沒完成資料庫的儲存紀錄,選項「VCS」→「Git」→「Commit File」打開新增節點頁面。

在這裡我們需要手動增加該檔案,也可以增加原本不在資料庫裡的檔案,不過記住沒必要連引用的包(如Spigot)也一起上傳,如果有進行團隊編輯的話最好加入作者是誰,說明儘量簡單扼要,因為該節點的名稱就是以說明當作名稱,另外資料庫本來就會紀錄時間,可以不用另外加注時間。

上傳資料

上一步驟完成時你發現文檔都呈現白色,但是這只是紀錄再本地資料庫,我們還沒上傳給雲端資料庫,選項「VCS」→「Git」→「Push」打開上傳頁面。

上面會秀出尚未上傳的節點,當然也可以累積好幾個節點一起上傳,不過要注意一下每個雲端資料庫都有上傳大小限制,點擊「Push」即可上傳,如果你已經建立其他雲端資料庫要上傳,記得其他備份雲端是建立空的資料庫,我們可以點擊上圖的雲端名稱coding,進行切換。

powered by GitbookFile Modify: 2017-07-19 14:28:16

results matching ""

    No results matching ""