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

下載本文檔

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

文檔簡介

1、Notes accompany this presentation. Please select Notes Page view. These materials can be reproduced only with official approval from Gartner. Such approvals may be requested via e-.Gitolite代碼管控與團隊協(xié)作代碼管控與團隊協(xié)作Nick.Wang(汪偉)什么是什么是gitolite? 從單兵作戰(zhàn)到團隊協(xié)作 從隨心所欲到紀(jì)律嚴(yán)明什么是什么是gitolite? Perl編寫,高效穩(wěn)定。 ssh公鑰,安全可靠。 版本

2、庫、分支、路徑 精細(xì)權(quán)限控制用戶認(rèn)證用戶認(rèn)證 服務(wù)器地址:192.168.3.11 認(rèn)證方式: ssh 認(rèn)證步驟: $ rm -fr /.ssh $ ssh-keygen -f /.ssh/NickWang用戶認(rèn)證用戶認(rèn)證 將生成的公鑰*.pub發(fā)給管理員 建立配置文件/.ssh/config用戶認(rèn)證用戶認(rèn)證 完成上述操作后 如無意外,可獲 得權(quán)限,正常情 情況下,可用右 側(cè)的指令查看權(quán) 限團隊內(nèi)協(xié)作團隊內(nèi)協(xié)作 Team Leader上傳基線軟件 團隊成員下載代碼 $ git clone gitolite:版本庫名字 如:團隊內(nèi)協(xié)作團隊內(nèi)協(xié)作 查看此版本庫有哪些遠(yuǎn)程分支 $ git branc

3、h -a 切換到你想要的分支 $ git checkout -track origin/分支名 團隊內(nèi)協(xié)作團隊內(nèi)協(xié)作 查看是否切換成功 $git branch a 恭喜,你已成功獲得了你想要的代碼! 團隊內(nèi)協(xié)作團隊內(nèi)協(xié)作 獲得代碼后的第一件事: Not But 團隊內(nèi)協(xié)作團隊內(nèi)協(xié)作 編譯通過后的準(zhǔn)備工作 $ git status 誰修改了這些文件?團隊內(nèi)協(xié)作團隊內(nèi)協(xié)作 忽略不關(guān)心的文件 $ git status .gitignore $ vi .gitignore 編輯這個文件,使它只包含文件路徑團隊內(nèi)協(xié)作團隊內(nèi)協(xié)作 看看忽略的效果 $ git status 為什么有漏網(wǎng)之魚 團隊內(nèi)協(xié)作團隊內(nèi)

4、協(xié)作 干掉漏網(wǎng)之魚 $ update-index -assume-unchanged FILE_NAME團隊內(nèi)協(xié)作團隊內(nèi)協(xié)作 干凈的工作區(qū),良好的開發(fā)習(xí)慣 $ git status 團隊內(nèi)協(xié)作團隊內(nèi)協(xié)作 簡單修改提交 代碼修改后,運行$ git status查看哪個文件被修改 運行$ git diff + 文件名,確認(rèn)是否修改正確 運行$ git add + 文件名,逐個添加文件團隊內(nèi)協(xié)作團隊內(nèi)協(xié)作 簡單修改提交 運行$ git commit -m “modify log”提交到本地 至此,已經(jīng)完成一次本地提交,你可以選擇把本地提交“貢獻”到服務(wù)器,也可以累積多次本地提交,一并“貢獻”到服務(wù)器

5、。 將本地版本庫更新到與服務(wù)器一致 $ git fetch 將你的修改應(yīng)用到最新的本地版本庫上 $ git rebase origin/遠(yuǎn)程分支名團隊內(nèi)協(xié)作團隊內(nèi)協(xié)作 簡單修改提交 將合并后的版本庫推送到服務(wù)器 $ git push origin 本地分支名:遠(yuǎn)程分支名團隊內(nèi)協(xié)作團隊內(nèi)協(xié)作l 來看一下rebase的原理 剛?cè)∠聛淼拇a,本地與服務(wù)器一致團隊內(nèi)協(xié)作團隊內(nèi)協(xié)作l 來看一下rebase的原理經(jīng)過一段時間的開發(fā),服務(wù)器版本庫和本地版本庫各自生長團隊內(nèi)協(xié)作團隊內(nèi)協(xié)作l rebase就是從兩個分支共同祖先算起,將一個分支的改動完整的移動到另一個分支上團隊內(nèi)協(xié)作團隊內(nèi)協(xié)作l rebase的最

6、終結(jié)果是實現(xiàn)個人成果與團隊的完美融合團隊內(nèi)協(xié)作團隊內(nèi)協(xié)作l 特性分支 新模塊、新功能開發(fā)、規(guī)模較大的修改、可能有風(fēng)險的修改,都在特性分支上做,避免影響主分支的穩(wěn)定性,特性分支測試穩(wěn)定后,再合入主分支。 具體做法,在遇到上述情況時,先用下面的命令創(chuàng)建一個特性分支 $ git branch branchname 再切換到特性分支上進行修改、開發(fā)、提交、測試。 測試通過后,再合到主分支并上傳 團隊內(nèi)協(xié)作團隊內(nèi)協(xié)作l 任務(wù)中斷 某個功能開發(fā)到一半,突然Boss說有個緊急的bug,需要修改。 團隊內(nèi)協(xié)作團隊內(nèi)協(xié)作l 任務(wù)中斷的對策 $ git add + 需要備份的文件 $ git stash save

7、 “XXXXXX” $ fix your bug $ git stash list $ git stash pop基線更新基線更新 二次開發(fā)不可回避的痛 基線更新基線更新基線更新 方法1: 將代碼手動移植到新的基線上。 優(yōu)點: 可靠性高 缺點: 時效性差基線更新基線更新 方法2:Patch法第一步:舊基線生成patch$ git format-patch第二步: 將舊基線的patch逐個應(yīng)用到新基線上$ git am XXX.patch遇到?jīng)_突,停止patch,改為手動合并$ git am -abort基線更新基線更新 方法3:rebase法$ git remote add NEWBASE u

8、rl$ git fetch NEWBASE$ git rebase NEWBASE. Fix conflict 驗證OK后$ git push NEW_REPO master:master有用的命令有用的命令查看修改的文件 $ git log -name-status查看暫存區(qū)與版本庫的區(qū)別 $ git diff -cached合并最近的兩次提交 $ git commit -amend -m “XXXX”顯示遠(yuǎn)程版本庫 $ git remote v分支推送 $ git push REP_NAME local_branch_name:remote_branch_name顯示所有分支 $ git branch -a有用的命令有用的命令從指定的提交創(chuàng)建分支 $ git branch 重命名已經(jīng)存在的分支 $ git branch -m 將工作區(qū)回退到指定的提交 $ git checkout 將版本庫回退到指定的提交 $ git reset -hard 將其它分支的指定提交應(yīng)用到當(dāng)前分支 $ git cherry-pick 將同一分支上的指定兩次提交之間的若干個

溫馨提示

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

最新文檔

評論

0/150

提交評論