gitolite代碼管控與團(tuán)隊(duì)協(xié)作_第1頁(yè)
gitolite代碼管控與團(tuán)隊(duì)協(xié)作_第2頁(yè)
gitolite代碼管控與團(tuán)隊(duì)協(xié)作_第3頁(yè)
gitolite代碼管控與團(tuán)隊(duì)協(xié)作_第4頁(yè)
gitolite代碼管控與團(tuán)隊(duì)協(xié)作_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Gitolite代碼管控與團(tuán)隊(duì)協(xié)作Nick.Wang(汪偉)什么是gitolite?從單兵作戰(zhàn)到團(tuán)隊(duì)協(xié)作從隨心所欲到紀(jì)律嚴(yán)明什么是gitolite?Perl編寫,高效穩(wěn)定。ssh公鑰,安全可靠。版本庫(kù)、分支、路徑

精細(xì)權(quán)限控制用戶認(rèn)證服務(wù)器地址:192.168.3.11認(rèn)證方式:ssh認(rèn)證步驟:$rm-fr~/.ssh$ssh-keygen-f~/.ssh/NickWang用戶認(rèn)證將生成的公鑰*.pub發(fā)給管理員建立配置文件~/.ssh/config用戶認(rèn)證完成上述操作后如無(wú)意外,可獲

得權(quán)限,正常情情況下,可用右側(cè)的指令查看權(quán)限團(tuán)隊(duì)內(nèi)協(xié)作TeamLeader上傳基線軟件團(tuán)隊(duì)成員下載代碼$gitclonegitolite:版本庫(kù)名字

如:團(tuán)隊(duì)內(nèi)協(xié)作查看此版本庫(kù)有哪些遠(yuǎn)程分支$gitbranch-a切換到你想要的分支$gitcheckout--trackorigin/分支名

團(tuán)隊(duì)內(nèi)協(xié)作查看是否切換成功$gitbranch–a

恭喜,你已成功獲得了你想要的代碼!

團(tuán)隊(duì)內(nèi)協(xié)作獲得代碼后的第一件事:Not

But

團(tuán)隊(duì)內(nèi)協(xié)作編譯通過(guò)后的準(zhǔn)備工作$gitstatus

誰(shuí)修改了這些文件?團(tuán)隊(duì)內(nèi)協(xié)作忽略不關(guān)心的文件$gitstatus>.gitignore$vi.gitignore

編輯這個(gè)文件,使它只包含文件路徑團(tuán)隊(duì)內(nèi)協(xié)作看看忽略的效果$gitstatus

為什么有漏網(wǎng)之魚

團(tuán)隊(duì)內(nèi)協(xié)作干掉漏網(wǎng)之魚$update-index--assume-unchangedFILE_NAME團(tuán)隊(duì)內(nèi)協(xié)作干凈的工作區(qū),良好的開發(fā)習(xí)慣$gitstatus

團(tuán)隊(duì)內(nèi)協(xié)作

簡(jiǎn)單修改提交

代碼修改后,運(yùn)行$gitstatus查看哪個(gè)文件被修改

運(yùn)行$gitdiff+文件名,確認(rèn)是否修改正確

運(yùn)行$gitadd+文件名,逐個(gè)添加文件團(tuán)隊(duì)內(nèi)協(xié)作

簡(jiǎn)單修改提交

運(yùn)行$gitcommit-m“modifylog”提交到本地

至此,已經(jīng)完成一次本地提交,你可以選擇把本地提交“貢獻(xiàn)”到服務(wù)器,也可以累積多次本地提交,一并“貢獻(xiàn)”到服務(wù)器。

將本地版本庫(kù)更新到與服務(wù)器一致

$gitfetch

將你的修改應(yīng)用到最新的本地版本庫(kù)上

$gitrebaseorigin/遠(yuǎn)程分支名團(tuán)隊(duì)內(nèi)協(xié)作

簡(jiǎn)單修改提交

將合并后的版本庫(kù)推送到服務(wù)器

$gitpushorigin[本地分支名]:[遠(yuǎn)程分支名]團(tuán)隊(duì)內(nèi)協(xié)作來(lái)看一下rebase的原理

剛?cè)∠聛?lái)的代碼,本地與服務(wù)器一致團(tuán)隊(duì)內(nèi)協(xié)作來(lái)看一下rebase的原理

經(jīng)過(guò)一段時(shí)間的開發(fā),服務(wù)器版本庫(kù)和本地版本庫(kù)各自生長(zhǎng)團(tuán)隊(duì)內(nèi)協(xié)作rebase就是從兩個(gè)分支共同祖先算起,將一個(gè)分支的改動(dòng)完整的移動(dòng)到另一個(gè)分支上團(tuán)隊(duì)內(nèi)協(xié)作rebase的最終結(jié)果是實(shí)現(xiàn)個(gè)人成果與團(tuán)隊(duì)的完美融合團(tuán)隊(duì)內(nèi)協(xié)作

特性分支

新模塊、新功能開發(fā)、規(guī)模較大的修改、可能有風(fēng)險(xiǎn)的修改,都在特性分支上做,避免影響主分支的穩(wěn)定性,特性分支測(cè)試穩(wěn)定后,再合入主分支。

具體做法,在遇到上述情況時(shí),先用下面的命令創(chuàng)建一個(gè)特性分支

$gitbranch[branchname]

再切換到特性分支上進(jìn)行修改、開發(fā)、提交、測(cè)試。

測(cè)試通過(guò)后,再合到主分支并上傳

團(tuán)隊(duì)內(nèi)協(xié)作

任務(wù)中斷

某個(gè)功能開發(fā)到一半,突然Boss說(shuō)有個(gè)緊急的bug,需要修改。

團(tuán)隊(duì)內(nèi)協(xié)作任務(wù)中斷的對(duì)策

$gitadd+[需要備份的文件]

$gitstashsave“XXXXXX”

$fixyourbug

$gitstashlist

$gitstashpop基線更新二次開發(fā)不可回避的痛

基線更新基線更新

方法1:

將代碼手動(dòng)移植到新的基線上。

優(yōu)點(diǎn):可靠性高

缺點(diǎn):時(shí)效性差基線更新

方法2:Patch法第一步:舊基線生成patch$gitformat-patch第二步:將舊基線的patch逐個(gè)應(yīng)用到新基線上$gitamXXX.patch遇到?jīng)_突,停止patch,改為手動(dòng)合并$gitam--abort基線更新

方法2:rebase法$gitremoteaddNEWBASE[url]$gitfetchNEWBASE$gitrebaseNEWBASE….Fixconflict

驗(yàn)證OK后$gitpushNEW_REPOmaster:master有用的命令查看修改的文件$gitlog--name-status查看暫存區(qū)與版本庫(kù)的區(qū)別$gitdiff--cached合并最近的兩次提交$gitcommit--amend-m“XXXX”顯示遠(yuǎn)程版本庫(kù)$gitremote–v分支推送$gitpushREP_NAMElocal_branch_name:remote_branch_name顯示所有分支$gitbranch-a有用的命令從指定的提交創(chuàng)建分支$gitbranch<branch_name><commit_id>重命名已經(jīng)存在的分支$gitbranch-m<old_branch_name><new_branch_name>將工作區(qū)回退到指定的提交$gitcheckout<commitid>將版本庫(kù)回退到指定的提交$gitreset--hard<commitid>將其它分支的指定提交應(yīng)用到當(dāng)前分支$gitcherry-pick<commitid>將同一分支上的指定兩次提交之間的若干個(gè)提交生成patch$gitformat-patch<commit_i

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論