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_SERVER和LOCAL_CLIENT
B-1. Server端REMOTE_SERVER設定:
~$ mkdir android.git; cd android.git
初始化此目錄為 Git REMOTE_SERVER Repository
~$ git --bare init
在android.git/底下建立存放Source Code的Local目錄
目的是在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 .
將所有程式碼及說明描述commit到Server端的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. Local端LOCAL_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 .
將所有程式碼及說明描述commit到Local端的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
將所有程式碼及說明描述commit到Local端的Local Repository
host ~$ git commit -m ‘modify hello.html’
使用push指令將Source Code真正地由Local端上傳至Server端的REMOTE_SERVER Repository
host ~$ git push
如果Server端有更新Source Code,Client端可以使用pull指令從Server端下載並更新Local端的Source Code,原理同SVN的svn update
host ~$ git pull
B-2-3. 刪除
一樣在android/底下
host ~$ rm hello.html
使用參數-u,功能為只加入有修改過的檔案
host ~$ git add -u
將所有程式碼及說明描述commit到Local端的Local Repository
host ~$ git commit -m ‘delete hello.html’
使用push指令將Source Code真正地由Local端上傳至Server端的REMOTE_SERVER Repository
host ~$ git push
如果想瀏覽全部開發的說明敘述,可以使用log指令
Host ~$ git log
沒有留言:
張貼留言