2015年7月8日 星期三

Git

Git : 分散式的版本控管系統。

Git 保留了所有的 history, commits, branches 記錄在本地端,所以跟傳統中央控管的方式不同,不需透過連到主機的方式,即可使用和查詢。

Git 的創造者是 Linus Torvalds , 同時也是 linux 核心的發起者。



了解 Git

Git 可分為 local 本地端和 remote 遠端。
像 CVS 或是 SVN 的相關記錄和程式碼都是放在中央主機上。但是 Git 是分散式的架構。所以可以有很多的分身。
每個分身都是獨立的個體。而獨立的個體會活在 local 本地端的資料夾中。

一般程式碼寫完之後,接著會做 add , commit , update , merge 等動作,讓程式碼進到版本控管中。
CVS or SVN 都是要跟中央主機打交道。但是 Git 是跟自己本地端的分身打交道。
所以 Git commit 完,只有自己看的到。如果要跟別人協同合作,還須多做 push , pull 的指令,讓相關程式碼合併到 Git 遠端的分身。
(在 Git 的世界裡,每個人都可以是老大)。







Git local 指令

1. 開始第一個 git repository  :  git init XXXXX  (在目前位置下建立一個 Git 專案 XXXXX)
2. 新增檔案到 git index file  :  git add XXXX.java  (將資料送到 index 資料庫中)
3. 送交檔案到 git repository  :  git commit --message '註解'  (送交檔案到 Git 專案)
   第一次的檔案一定要先  add , 接著  commit
4. 更新 git repository 檔案  :  沒有指令。 (在本地端開發,除了被惡搞外,程式碼應該是最新的吧)
5. 從不同 branches 或是版本取檔案 : git checkout
6. 產生 branches(分支)  : git branch
7. 合併分支 : git merge

git 強調註解。最好註解寫的像一封 mail。用 gitx 的介面看,註解展開的像 mail。
所以不同於傳統用人名當帳號的方式,git 用 email 帳號當帳號。


Git remote 指令


1. 送交到遠端位置 :  git push
2. 將遠端的程式碼 merge  回來 :  git fetch , git pull
3. 將遠端資料 copy 回來(產生分身) : git clone
4. 讓本地端資料在遠端產生目錄(產生分身)  : git remote



沒有留言: