




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
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代碼管控與團隊協作代碼管控與團隊協作Nick.Wang(汪偉)什么是什么是gitolite? 從單兵作戰到團隊協作 從隨心所欲到紀律嚴明什么是什么是gitolite? Perl編寫,高效穩定。 ssh公鑰,安全可靠。 版本
2、庫、分支、路徑 精細權限控制用戶認證用戶認證 服務器地址:192.168.3.11 認證方式: ssh 認證步驟: $ rm -fr /.ssh $ ssh-keygen -f /.ssh/NickWang用戶認證用戶認證 將生成的公鑰*.pub發給管理員 建立配置文件/.ssh/config用戶認證用戶認證 完成上述操作后 如無意外,可獲 得權限,正常情 情況下,可用右 側的指令查看權 限團隊內協作團隊內協作 Team Leader上傳基線軟件 團隊成員下載代碼 $ git clone gitolite:版本庫名字 如:團隊內協作團隊內協作 查看此版本庫有哪些遠程分支 $ git branc
3、h -a 切換到你想要的分支 $ git checkout -track origin/分支名 團隊內協作團隊內協作 查看是否切換成功 $git branch a 恭喜,你已成功獲得了你想要的代碼! 團隊內協作團隊內協作 獲得代碼后的第一件事: Not But 團隊內協作團隊內協作 編譯通過后的準備工作 $ git status 誰修改了這些文件?團隊內協作團隊內協作 忽略不關心的文件 $ git status .gitignore $ vi .gitignore 編輯這個文件,使它只包含文件路徑團隊內協作團隊內協作 看看忽略的效果 $ git status 為什么有漏網之魚 團隊內協作團隊內
4、協作 干掉漏網之魚 $ update-index -assume-unchanged FILE_NAME團隊內協作團隊內協作 干凈的工作區,良好的開發習慣 $ git status 團隊內協作團隊內協作 簡單修改提交 代碼修改后,運行$ git status查看哪個文件被修改 運行$ git diff + 文件名,確認是否修改正確 運行$ git add + 文件名,逐個添加文件團隊內協作團隊內協作 簡單修改提交 運行$ git commit -m “modify log”提交到本地 至此,已經完成一次本地提交,你可以選擇把本地提交“貢獻”到服務器,也可以累積多次本地提交,一并“貢獻”到服務器
5、。 將本地版本庫更新到與服務器一致 $ git fetch 將你的修改應用到最新的本地版本庫上 $ git rebase origin/遠程分支名團隊內協作團隊內協作 簡單修改提交 將合并后的版本庫推送到服務器 $ git push origin 本地分支名:遠程分支名團隊內協作團隊內協作l 來看一下rebase的原理 剛取下來的代碼,本地與服務器一致團隊內協作團隊內協作l 來看一下rebase的原理經過一段時間的開發,服務器版本庫和本地版本庫各自生長團隊內協作團隊內協作l rebase就是從兩個分支共同祖先算起,將一個分支的改動完整的移動到另一個分支上團隊內協作團隊內協作l rebase的最
6、終結果是實現個人成果與團隊的完美融合團隊內協作團隊內協作l 特性分支 新模塊、新功能開發、規模較大的修改、可能有風險的修改,都在特性分支上做,避免影響主分支的穩定性,特性分支測試穩定后,再合入主分支。 具體做法,在遇到上述情況時,先用下面的命令創建一個特性分支 $ git branch branchname 再切換到特性分支上進行修改、開發、提交、測試。 測試通過后,再合到主分支并上傳 團隊內協作團隊內協作l 任務中斷 某個功能開發到一半,突然Boss說有個緊急的bug,需要修改。 團隊內協作團隊內協作l 任務中斷的對策 $ git add + 需要備份的文件 $ git stash save
7、 “XXXXXX” $ fix your bug $ git stash list $ git stash pop基線更新基線更新 二次開發不可回避的痛 基線更新基線更新基線更新 方法1: 將代碼手動移植到新的基線上。 優點: 可靠性高 缺點: 時效性差基線更新基線更新 方法2:Patch法第一步:舊基線生成patch$ git format-patch第二步: 將舊基線的patch逐個應用到新基線上$ git am XXX.patch遇到沖突,停止patch,改為手動合并$ git am -abort基線更新基線更新 方法2: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查看暫存區與版本庫的區別 $ git diff -cached合并最近的兩次提交 $ git commit -amend -m “XXXX”顯示遠程版本庫 $ git remote v分支推送 $ git push REP_NAME local_branch_name:remote_branch_name顯示所有分支 $ git branch -a有用的命令有用的命令從指定的提交創建分支 $ git branch 重命名已經存在的分支 $ git branch -m 將工作區回退到指定的提交 $ git checkout 將版本庫回退到指定的提交 $ git reset -hard 將其它分支的指定提交應用到當前分支 $ git cherry-pick 將同一分支上的指定兩次提交之間的若干個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年五金制品行業跨境電商風險評估與控制報告
- 藥品采購收貨管理制度
- 藥店內部區域管理制度
- 藥店日常衛生管理制度
- 藥店藥師考勤管理制度
- 薪酬福利臺賬管理制度
- 設備安全運行管理制度
- 設備日常衛生管理制度
- 設備狀態標志管理制度
- 設備維護維修管理制度
- 蒸汽機的原理
- 信用修復申請書
- 人教版初中物理實驗目錄詳表
- 糖尿病周圍血管病變課件
- (完整版)政府工程項目代建管理方案(范本)
- 2023年江蘇省蘇州大學醫學部藥學院統招博士后招收(共500題含答案解析)高頻考點題庫參考模擬練習試卷
- 2023年全國高考語文乙卷作文“一花獨放不是春百花齊放春滿園”寫作
- 《國家中藥飲片炮制規范》全文
- 合作方案介紹文案
- 年部級優課馬克思主義在中國的傳播
- 檢驗科生物安全防護知識培訓試題及
評論
0/150
提交評論