深入 Git 和開發規範(二)

木亦Sam發表於2021-08-25

這是我參與8月更文挑戰的第26天,活動詳情檢視:8月更文挑戰

除了 Git 三連,實際工作中還有哪些常用操作

git checkout--建立、切換分支,放棄本地修改

checkout 命令在分支操作上經常使用,同時支援本地檔案的操作 建立並切換到新分支:

git checkout <branch> // 切換到分支

git chekcout - // 切換到上一次使用的分支

git checkout -b <branch> // 建立並切換
複製程式碼

放棄某個檔案的修改:

git checkout <file>

git checkout . // 放棄所有檔案修改
複製程式碼

git reset--回退歷史版本

Git 的另一特徵便是可以靈活操作歷史版本。藉助分散倉庫的優勢,可以在不影響其他倉庫的前提下對歷史版本進行操作。 回退到某個歷史提交:

git reset <commit> // 回退到某個版本,不回退檔案
git reset --hard <commit> // 回退到某個版本,並回退檔案
複製程式碼

git merge--合併分支

當開發到一定程度後,需要將開發分支的程式碼合併到測試或者主幹分支,這時候,需要用到 merge 命令。

git merge <branch> // 合併某個分支到當前分支
複製程式碼

git pull 的時候,發生了什麼?

很多人不理解 Git 的拉取pull和獲取fetch的區別,其實當執行 git pull 的時候,經歷了兩個步驟,一個是獲取fetch,並自動合併merge 而獲取則支援單純的執行fetch,並不會自動合併。 如下例子:

git fetch origin master:temp //從遠端倉庫 master 獲取,並建立本地分支 temp

git diff temp //對比修改

git merge temp //合併tmp
複製程式碼

修改了檔案,突然發現分支不對,怎麼辦?

有時候當我們修改了檔案後發現,分支忘了切回開發分支了,除了笨笨的複製檔案,然後切換回正確分支,再恢復程式碼,還有更好的操作嗎? 執行 git stash 暫存修改到快取後,切換到正確分支,並將修改出棧:

git stash // 暫存修改

git checkout <branch> // 切換分支

git stash pop // 將修改出棧(恢復)
複製程式碼

Git分支管理規範

master 主分支

作為正式環境分支(穩定版),只讀,不可修改,可被merge 正式伺服器應當切換為此分支

release 預釋出分支

作為驗收環境分支,不可修改,可被merge 驗收或正式伺服器上線前應當切換為此分支

develop 測試分支

作為測試環境分支,可修改,可被merge 測試伺服器應當切換為此分支

feature/ 開發(功能)分支

作為開發環境分支,本地開發和開發伺服器應當切換為此分支

hotfix/ 修復BUG分支

作為修復BUG分支,應從線上或測試分支拉取一個hotfix分支,BUG解決後merge到測試或線上分支

Git工作流模型推薦

歡迎閱讀其它文章

相關文章