git 合作開發教程
1、首先,我們這裡選用GitHub作為程式碼儲存倉庫,git bash是我們常用的git操作視窗(cmd也可以,建議用git bash)。
註冊GitHub賬號並安裝好git就可以在專案目錄下右鍵開啟git bash了。
2、接下來就要連線倉庫了,這時候就需要SSH Key新增到專案owner(專案擁有者)的GitHub上。
建立SSH Key。在專案主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsa
和id_rsa.pub
這兩個檔案,如果沒有,開啟Shell(Windows下開啟Git Bash),建立SSH Key:
ssh-keygen -t rsa -C "[ [email protected]].com"
這裡的[email protected]是GitHub的註冊郵箱。如果一切順利的話,可以在專案主目錄裡找到.ssh
目錄,裡面有id_rsa
和id_rsa.pub
兩個檔案,這兩個就是SSH Key的祕鑰對,id_rsa
是私鑰,不能洩露出去,id_rsa.pub
是公鑰,可以放心地告訴任何人,所以大膽地把id_rsa.pub
告訴我吧。
3、owner根據你的GitHub賬號(註冊郵箱)和id_rsa.pub
就能將你拉入專案組裡面了,然後團隊開發的環境就建立起來了。
(如何加入SSH Key和建立專案組多翻翻GitHub就可以知道了,或者看下我寫的另一篇部落格。這裡是給專案成員而非專案擁有者專門寫的教程)
4、接下來描述一下團隊開發方式。
第一步:若本地沒有從GitHub上下載過程式碼,那麼請在一個資料夾下開啟git bash ,直接使用下面命令拿取程式碼到當前目錄:
git clone [email protected]:Cheerfulion/scut-v2.0.git
git clone 命令後面的 [email protected]:Cheerfulion/scut-v2.0.git 這麼一串是專案的git地址,可以在任何一個git的託管平臺專案上看到,而且不需要建立連結(即不需要新增你的ssh key到他的專案上)就能下載程式碼。GitHub的git地址顯示位置如下:
若之前下載過需要修改程式碼,
檢視分支:git branch
前面帶*號的是遠端分支。預設是檢視本地分支,帶上引數 -r是檢視遠端分支,-a是遠端和本地的所有分支
建立分支:git branch <new branch name> <come from where>
//示例1 從本地某一分支繼承程式碼建立新分支
git branch new-branch-name dev
//示例2 從遠端某一分支繼承程式碼建立分支
git branch new-branch-name origin/dev
//示例3 不指定繼承分支,預設繼承當前所在分支
git branch new-branch-name
切換分支:git checkout <branch-name>
建立並切換分支:git checkout -b <new_branch_name>
刪除分支:git branch -d <branch_name>
若你的程式碼不是從遠端克隆(git clone)下來的,提交程式碼到遠端時就會因為沒有關聯到遠端庫而失敗,關聯遠端庫使用下面命令(後面的依舊是git地址,和git clone倒是很相似):
git remote add origin [email protected][server-name]:[path]/[repo-name].git
;
之後就可以使用 git push -u origin <origin_branch_name>
使進行提交了。當然提交前要add並且cimmit才能提交自己的修改哦。
下面是正常情況下多人合作開發的一般步驟:
1、若本機沒有下載專案檔案,則 git clone 下載。
2、在專案上建立新的分支,在新的分支上進行程式碼調整,調整完成後到第三步。
3、先add並且commit提交本次修改後使用git pull拉取遠端程式碼到相應專案位置。或者使用git fetch和git merge,提交修改到本地(add-->commit)需要再git merge前面執行。其實這裡的git pull就是git fetch和git merge的集合。
4、最後使用git push提交當前分支到遠端倉庫就完成。注意:一般在正式專案上是不允許提交的當前分支是dev或者master分支的,這兩個分支提交到遠端也是對應遠端的dev和master分支,而這兩個分支通常都是要保證絕對無誤的,也就是要測試部門測試通過才能合併。