Posted on

Git版本控管學習筆記(1)

我過去一直都是使用SVN來做專案的版本控管的工作,
最近突然很頻繁的聽到圈內的人都用git這個東西,強調他分散式適合分散式開發等等的優點。
再加上最近有看到保哥的30天精通Git版本控管的教學文,
就決定好好的來學習一下這個新的版本控管系統。

在過去,較有名的檔案管理系統有SVNCVSVisual SourceSafeVSTS
不過,這些版本管理系統大都採用集中式控制,
也就是一定要連上Server才可以commit資料。

而Git則強調分散式管理,他可以在本機就先commit資料,當連到網路之後,才去與server上的系統做合併
這樣有一個很大的好處,就是即使今天人在國外,無法連上網路而需要繼續工作,
或公司的svn是使用區網去連接,但我們卻無法連接至公司網路時,
也可以commit程式的變更,這個特性在分散式的開發上十分的方便。

決定要學GIT後,第一個就是要選擇工具

CloudHsu推薦下面兩款:

  1. mac系統上使用SourceTree
  2. 在windows上使用gitextensions

上面這兩款都是圖形化GUI介面的操作軟體。

不過保哥在文章裡面有提到,最終在使用上,因為操作方便性以及使用方便性,還是會選擇使用GUI介面的操作工具。
但是,在剛開始學習時,由於對整個GIT概念的了解,他還是建議從下指令碼開始學習,以下是節錄他的學習建議:

* 先擁有 Git 基礎觀念,透過下指令的方式學習是最快的方式,不要跳過這一段
* 找多一點人跟你一起學 Git 版本控管,最好能直接用在實務的開發工作上
* 團隊中最好要有幾個先遣部隊,可以多學一點 Git 觀念,好分享給其他人,或有人卡關時,能適時提供協助
* 了解 Git 屬於「分散式版本控管」,每個人都有一份完整的儲存庫(Repository),所以必須經常合併檔案
* 使用 Git 的時候,分支與合併是常態,但只要有合併,就會有衝突,要學會如何解決衝突

因此我還是先裝Git for Windows,在保哥的系列文章的第二篇,有很詳細的解說
請看在Windows平台必裝的三套Git工具,一定要先裝Git for Windows才能裝GitHub for Windows
他一樣很大推SourceTree,這一套CloudHsu也說很好用!

首次使用如果有成功登入 GitHub 帳戶,GitHub for Windows 會自動建立一組 SSH Key-Pair

GitHub for Windows 幫你產生的 SSH Key 預設路徑如下:
"C:\Users\<username>\.ssh\github_rsa"
"C:\Users\<username>\.ssh\github_rsa.pub"

這樣以後可以不用每次登入GitHub都要輸入帳號密碼。

而預設的工作目錄則是在
C:\Users\<username>\Documents\GitHub

在登入github網站後,點選右上的Account settings,然後點選SSH Keys
可以看到現在連接到你gitHub帳號的電腦所使用的SSH key。

2013-11-11_180939
然後這是安裝好的GitHub for Windows介面的樣子
2013-11-11_183846

今天學的三個指令
<詳細教學文請見此>

  1. 建立本地儲存庫
    mkdir demo
    cd demo
    git init
  2. 建立本地共用儲存庫
    mkdir demo
    cd demo
    git init --bare
  3. 從遠端取出儲存庫
    (2) 先在此取得儲存庫的網址
    2013-11-11_182141
    (2) git clone [REPOSITORY_URI]

相關資料:

  1. 30天精通Git版本控管
  2. Git Magic
  3. Git教學