创新小组 实战Git团队企操作手册_精华版本
生活随笔
收集整理的這篇文章主要介紹了
创新小组 实战Git团队企操作手册_精华版本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、入門試煉
- 1. Git命令理解+準則
- 2. Git分支換分思路
- 3. 線上發布準備
- 二、 實戰前期準備
- 二、場景實戰
- 模擬提交準備
- 3.1. Git合并某個分支的某一/多次提交到指定分支
- 3.2. Git合并分支
- 3.3. 回滾/撤銷指定某一/多次提交(建議使用,雁過留聲、人過留名)
- 3.4. Git合并沖突
- 3.5. Git刪除中間某一/多次提交記錄和提交的文件
- 3.6. 撤銷回滾未未添加至暫存區文件
- 3.7. 回退到以前的指定版本,之后提交的記錄和提交的文件全部刪除
這篇Git團隊操作手冊,模擬企業真實不同場景,實戰團隊一起怎樣使用Git?
為什么這樣使用Git?由我的真實經驗總結而成,希望能夠幫助小伙伴們提前熟悉企業中是怎樣使用Git的環境。
一、入門試煉
1. Git命令理解+準則
1.初始化倉庫用 git init 2.提交用git commit -m"提交說明" 3.推送遠程用git push origin 本地分支名 4.拉取項目用 git clone 項目地址 5.回退文件人2種:未提交用git checkout提交后的用git revert 6.刪除姿勢有2步:刪除指定提交和提交文件用git rebase 回退到之前的指定提交歷史節點,刪除之后的提交記錄和提交文件用:git reset --hard 7.更新項目用git pull 8.和遠程倉庫建立連接:git remote add origin 遠程項目地址擴展彩蛋: 9. 禁止向集成分支執行那些操作命令?1> 禁止向集成分支執行變更歷史的操作<git rebase -i>2> 禁止向集成分支執行刪除提交記錄和提交文件的操作<git rebase -i>3> 禁止向集成分支執行強制推送遠程操作操作git push -f origin <本地分支名>2. Git分支換分思路
一般企業根據不同的環境劃分為不同的分支,這樣做的好處就是,分工明確、互不影響。簡言之,開發負責開發、測試只負責測試。
常見的分支劃分策略如下:
| local | 本地開發環境 | 本地開發+單元測試 |
| dev | 技術開發環境 | 技術測試,有專門的測試人員 |
| test | 回歸測試環境 | 模擬生產線上環境預測試 |
| uat | 壓測環境 | 測試服務器瓶頸 |
| master(prod) | 生產環境 | 線上已發布,正在正式運行的項目 |
3. 線上發布準備
一般正式環境發布之前會做這幾件事:
| ① | 拆板 | 把與自己無關的版本拆除調 |
| ② | 合版 | 核對自己發布文件版本 |
| ③ | 發布 | 將核對無誤的版本發布到測試環境 |
| ④ | 技術測試 | 測試發布后的程序,有問題讓開發協助修改,沒問題發布回歸測試環境 |
| ⑤ | 回歸測試 | 測試技術環境沒問題的功能點,模擬生產測試(此環境和生產環境一樣的) |
| ⑥ | 發布上線 | 發布回歸測試環境,測試成功的功能點 |
二、 實戰前期準備
1.在遠程倉庫創建kernel_system項目 2.將遠程倉庫克隆到本地 3.初始化項目,添加一個README.txt文件項目說明 4.分別基于master分支,創建local、dev、test分支, 分別代表不同的開發或者測試環境,開發/測試/發布只需要切換分支即可。分支對照表: master-生產分支 local-本地開發 dev-技術測試分支 test-回歸測試分支 5.將本地創建的local、dev、test分支推送至遠程的版本庫二、場景實戰
模擬提交準備
zhangsan提交3次,模擬做了3個功能點,lisi提交2次模擬做了2個功能點,wangwu提交2次模擬做了2個功能點
#lcoal 本地分支 #zhangsan 提交3次 git checkout local echo "1" >> a.txt git add a.txt git commit -m"zhangsan 第1次提交" echo "2" >> b.txt git add b.txt git commit -m"zhangsan 第2次提交" echo "3" >> c.txt git add c.txt git commit -m"zhangsan 第3次提交"#lisi 提交2次 git checkout local echo "1" >> 1.txt git add 1.txt git commit -m"lisi第1次提交" echo "2" >> 2.txt git add 2.txt git commit -m"lisi第2次提交"#wangwu 提交2次 git checkout local echo "1" >> h.txt git add h.txt git commit -m"wangwu 第1次提交" echo "2" >> j.txt git add j.txt git commit -m"wangwu 第2次提交"查看所有的提交記錄: git log --pretty=oneline --abbrev-commit3.1. Git合并某個分支的某一/多次提交到指定分支
- Git合并某個分支的某/多次提交到指定分支
3.2. Git合并分支
前提:基于dev技術測試環境已經把zhangsan、lisi、wangwu的 功能測試沒問題。大版本發布變更: zhangsan的3個功能點、lisi的2個功能點以及wangwu的2個功能 點都要發布回歸測試。明確要做的事情: zhangsan和lisi的5個功能點從local分支要發布到dev分支去申 請技術測試。應該如何操作呢? 方案1((建議使用,這樣不會出錯): 正常流程,在dev分支,將zhangsan的3次提交和lisi的2次提交, 合并到dev分支即可。需要合并5次提交,因為每一次提交就是一個 功能點,一條合并提交命令即可。 案例演示: #這里剛才已經dev上有zhangsan、lisi的的5個功能點了,只要把 wangwu的2個功能點,從local分支合并到dev即可 #將這2次提交(a52cf77 de17f44)合并到當前分支(不限制哪個分支) git cherry-pick a52cf77 de17f44 #在dev分支上查看所有的提交記錄,等會我們會用到提交<commitId>進行合并提交處理 git log --pretty=oneline --abbrev-commit #切換到test分支,把dev分支上zhangsan、lisi、wangwu的7次提交合并到test分支 git checkout test #將一下提交合并到當前分支 git cherry-pick 6b0aa2f 8bbaf28 bf697f7 877d827 08d24a0 4297a8d efbaa86 方案2: 前提:以前dev分支和test代碼都是一樣的,只是在dev分支上新增的這7次提交記錄,在test分支是沒有的。 在這種場景下,直接合并分支即可,換言之,把dev分支合并到test分支 git checkout test #將dev分支合并到當前的test分支 git merge dev3.3. 回滾/撤銷指定某一/多次提交(建議使用,雁過留聲、人過留名)
- 回滾/撤銷指定某一/多次提交(建議使用,雁過留聲、人過留名)
- 撤銷回滾已經提交的文件
3.4. Git合并沖突
git默認自動幫我們合并的,但是也是有前提的。 假設: 在dev分支上有一個README.TXT文件,內容如下: 企業項目實戰Git團隊操作 dev 分支 技術測試環境在test分支上有一個README.TXT文件,內容如下: 企業項目實戰Git團隊操作 test 分支 回歸測試分支如果這個文件的內容,都不在同一行,git會自動幫我們進行合并沖突。但是假設: dev分支上的README.TXT文件的“dev 分支 技術測試環境” 這句話在第2行; test分支上的README.TXT文件的“test 分支 回歸測試分支” 這句話README.TXT文件也在第2行。在test分支執行git merge dev,這樣就會出現版本沖突,如果 不顯示,你在執行切換分支操作時就是提示你。 如下操作記錄日志: Administrator@PC-201911062145 MINGW64 ~/Desktop/kernel_system (test|MERGING) $ git checkout dev error: you need to resolve your current index first README.TXT: needs merge解決方案:
解決沖突即可: vim README.TXT 編輯前內容如下: 企業項目實戰Git團隊操作 master 分支 線上發布分支 <<<<<<< HEAD test 分支 回歸測試分支 ======= dev 分支 技術測試環境 >>>>>>> dev有3種解決方案 方案1: dev那句話和test那句話 都保存 方案2: 刪除dev那句話保存test那句話 方案3: 刪除test那句話保存dev那句話這個就要根據實際需求而言了,這里我選擇方案1(都保存)進行演示: 解決沖突后文件的內容如下: 企業項目實戰Git團隊操作 master 分支 線上發布分支 test 分支 回歸測試分支 dev 分支 技術測試環境#將修改文件添加至暫存區 git add README.TXT #將暫存區文件提交的本地Git倉庫 git commit -m"merge dev"3.5. Git刪除中間某一/多次提交記錄和提交的文件
- Git刪除中間某一/多次提交記錄和提交的文件
(明確風險后,執行操作,這次作用于特殊情況下)
3.6. 撤銷回滾未未添加至暫存區文件
撤銷回滾未未添加至暫存區都使用git checkout
撤銷工作區已經修改但是尚未添加至暫存區的文件恢復
git checkout .
如果,只想恢復a.js
git checkout a.js
這樣就可以恢復到修改前之前的a.js的狀態
3.7. 回退到以前的指定版本,之后提交的記錄和提交的文件全部刪除
回退到以前的指定版本,之后提交的記錄和提交的文件全部刪除
git reset --hard 指定回退的提交的<commitid> git push -f origin dev總結
以上是生活随笔為你收集整理的创新小组 实战Git团队企操作手册_精华版本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端传递json,后端应该怎样接收呢?
- 下一篇: (经验总结)flowable工作流_01