Git是分散式的版本控制系統(Distributed Revision Control System,DVCS),與其它CVS不同的是它並不一定需要伺服器才能使用,所以我只需要在我的PC上操作即可。它利用分散式的管理方法, 也就是說每個人下載的版本裡有包含有史以來更改過的紀錄。目前有許多的open source project都漸漸的從Subversion 轉到Git,知名的project如 linux kernel, Samba, X.org server, Ruby on Rails....還有許多的專案也都支援使用Git下載最新代碼。
在linux中要使用Git可先到Git官網下載最新版本,然後安裝。我的安裝方式如下:
[root@ecken01 work2]# tar jxvf git-1.6.5.3.tar.bz2
[root@ecken01 work2]# cd git-1.6.5.3
[root@ecken01 git-1.6.5.3]# make
[root@ecken01 git-1.6.5.3]# make install
它會安裝到預設的目錄去,預設的目錄是家目錄 ~/bin/ ,若要更改安裝目錄可使用
[root@ecken01 git-1.6.5.3]# make prefix=/usr install
在linux command 下的基本指令如下:
git init # 開始用 Git 來管理
git add mine.txt # 把 mine.txt 這個檔案加入管理
git add . # 把所有檔案加入 Git
git commit -a # 提交,將目前的檔案狀態變成一個版本
git commit -a -m "your message here" # commit 時直接寫訊息, 不用到下個螢幕上寫
git clone git://github.com/someone/some_project.git local_project #從遠端複製一份專案到我的電腦,目錄名稱為local_project
git status # 查詢從上個版本到現在哪些檔案被修改
git diff # 查詢從上個版本到現在哪幾行被修改
git diff v0.01 v0.03 # 查詢兩個版本間的差異
git diff v0.01:story.txt v0.03:story.txt # 查詢兩個版本間某個檔案的差異
git log # 顯示每個版本那些檔案被修改
git log -p # 顯示每個版本檔案修改的內容
git log --stat --summary # 查詢每個版本間變動的檔案跟行數
git tag v0.02 # 本版別名取為 v0.02
git tag v0.03 40e3e # 把版本 40e3e 取名為 v0.03
git show v1.01 # 查詢 v1.01 版裡的修改內容
git show v1.01:story.txt # 叫出在 v1.01 版時的 story.txt 檔案
git show v1.01:story.txt > test.txt # 把 v1.01 版的 story.txt 抓出來,放入一個叫 test.txt 的檔案
git show HEAD # 看此版本修改的資料
git show HEAD^ # 看此版本前一版的修改的資料
git grep "熊" # 查詢現在的版本裡有沒有熊
git branch 加英文版 # 建立新的分枝叫 "加英文版"
git branch # 查看現有的分枝
git branch beta v0.5 # 依照 "v0.5" 版裡的內容來建立一個叫 "beta" 的分枝
git checkout 加英文版 # 換到 "加英文版" 的分枝上
git checkout master # 換到主幹上
git branch -d 加英文版 # 刪除 "加英文版" 分枝
gitk # 版本瀏覽軟體(需要X-window)
git gui # 瀏覽從上一版本到現在變動的地方(需要X-window)
git gc # 維護 Git 的資料庫
git fsck --full # 同上, 三不五時下次指令
參考資料:
國網中心 Ruby on Rails
Tsuang's Blog
Book: Pro Git
朱雀雀的巴士站
2009年11月27日 星期五
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言