Pages

2011年7月6日 星期三

Git Setting

0-1. Installing Git Server

如果想自行安裝Git Server來進行版本控制,可參照下面安裝設定。
官方最新版本http://git-scm.com/download
~$ mkdir git/
~$ cd git
~$ mkdir git_usr
~$ mkdir git_source
~$ cd git_source
~$ wget http://kernel.org/pub/software/scm/git/git-1.7.3.4.tar.bz2
~$ tar jxvf git-1.7.3.4.tar
~$ cd git-1.7.3.4
~$./configure --prefix=/(HOME_USER)/git/git_usr/
~$ make
~$ make install
~$ vim ~/.bashrc
內文
export PATH="$PATH:/(HOME_USER)/git/git_usr/bin/:/(HOME_USER)/git/git_usr/libexec/git-core/"
內文結束

source ~/.bashrc


0-2. Setting Git Server and Client

基本觀念:
origin (remote) Server (遠方Server)Repository的版本,Git REMOTE_SERVER
master (branch) Local (本機),正在修改的版本,LOCAL_CLIENT

A. 建立Git單機Local Repository (沒有Git Server,只有Local端自己作版本控制)
host ~$ mkdir project; cd project
host ~$ git init
host ~$ vim xxx.c (自建Source Code目錄或是進行開發任何程式)
接著,使用add指令將Source Code暫存到 Staging Area
host ~$ git add .
最後,將所有程式碼修改和說明描述commit單機Local端的Repository
host ~$ git commit -m ‘first commit’

B. 建立Git REMOTE_SERVERLOCAL_CLIENT
B-1. ServerREMOTE_SERVER設定:
~$ mkdir android.git; cd android.git
初始化此目錄為 Git REMOTE_SERVER Repository
~$ git --bare init
android.git/底下建立存放Source CodeLocal目錄
目的是在Server端建立供Local端下載的Source Code Local目錄
~$ mkdir project; cd project
初始化此目錄為Server端的Local
~$ git init
Source Code複製到project/底下
~$ cp -rf android_source/ ./
使用add指令將Source Code暫存到Staging Area
~$ git add .
所有程式碼及說明描述commitServer端的Local Repository
~$ git commit -m ‘initial import’
再來將Source Code透過SSH模式指定到Server端的Git REMOTE_SERVER Repository
~$ git remote add origin (USER_ACCOUNT)@(IP_ADDRESS or DOMAIN NAME):android.git
最後,使用push指令將Source Code的資訊真正地由Server端的Local上傳至Server端的REMOTE_SERVER Repository
~$ git push origin master (git push <target> <local>)
(注意事項如果各個Local端陸續透過push指令將Source Code上傳到Server端,可以使用pull指令將存放在Server端的Source Code更新成最新狀態,但通常不建議這麼作,因為可以保留最初版本 ~$ git pull origin master)

B-2. LocalLOCAL_CLIENT設定:
Local立一個空的目錄
host ~$ mkdir code; cd code
使用clone指令透過SSH模式連線到Server端將Source Code複製到code/底下
host ~$ git clone (USER_ACCOUNT)@(IP_ADDRESS or DOMAIN NAME):android.git
如此,完成所有Git設定,即可在Local端進行開發

下面介紹基本的新增、修改和刪除的操作
B-2-1. 新增
經由上述使用clone指令,在code/底下會出現以android為名的目錄 (系統會將android.git”.git”拿掉作為目錄名)
host ~$ cd android/
查看android/底下的狀態
host ~$ ls -al
Server端複製下來的目錄,裡面一定會有.git,在.git裡面存放著Server端的資訊及Local端的Repository
接著,新增一個檔案
host ~$ touch hello.html
使用add指令將Source Code暫存到Local端的 Staging Area
host ~$ git add .
所有程式碼及說明描述commitLocal端的Local Repository
host ~$ git commit -m ‘add hello.html’
最後,使用push指令將Source Code真正地由Local端上傳至Server端的REMOTE_SERVER Repository
host ~$ git push

B-2-2. 修改
一樣在android/底下
host ~$ vim hello.html
使用參數-u,功能為只加入有修改過的檔案
host ~$ git add -u
所有程式碼及說明描述commitLocal端的Local Repository
host ~$ git commit -m ‘modify hello.html’
使用push指令將Source Code真正地由Local端上傳至Server端的REMOTE_SERVER Repository
host ~$ git push
如果Server端有更新Source CodeClient端可以使用pull指令從Server端下載並更新Local端的Source Code原理同SVNsvn update
host ~$ git pull

B-2-3. 刪除
一樣在android/底下
host ~$ rm hello.html
使用參數-u,功能為只加入有修改過的檔案
host ~$ git add -u
所有程式碼及說明描述commitLocal端的Local Repository
host ~$ git commit -m ‘delete hello.html’
使用push指令將Source Code真正地由Local端上傳至Server端的REMOTE_SERVER Repository
host ~$ git push
如果想瀏覽全部開發的說明敘述,可以使用log指令
Host ~$ git log

沒有留言:

張貼留言