Daizhenyang's Coin (sg函式)
場景一:多分支開發,不影響主分支
在工作中遇到要新增功能但同時不能影響主分支現有的業務邏輯,我們可以新建一個分支開發程式碼,測試完畢後再合併到主分支,不用擔心新程式碼影響現有程式碼邏輯。接下來具體看操作步驟:
1.新建一個分支。這句命令意思是新建了一個 testlog 的分支並切換到了 testlog 分支
git checkout -b testlog
此時 testlog 分支的程式碼和我們建立分支前的程式碼是一樣的
2.可以通過 git branch 命令檢視所有的分支。* 號表示當前所在分支
git branch
現在就可以在 testlog 分支上編寫新功能的程式碼了,不會影響主分支。我現在新建一個測試檔案
3.將 testlog 分支的檔案提交到本地,不要提交到遠端
git add . git commit -m "新增測試分支程式碼"
下圖表示已經將測試分支的程式碼提交到了本地
4.切換回主分支
git checkout master
下圖可以看到分支已經切回master分支
這時看程式碼檔案目錄是沒有 testlog 分支上的測試檔案的
5.將 testlog 分支的程式碼合併到 master
git merge testlog
下圖表示合併成功
再看檔案目錄就會出現我們在 testlog 分支上新建的檔案了
整體流程回顧
1.新建並切換到分支 git checkout -b testlog2.在新分支編寫程式碼並提交到本地
git add .
git commit -m "提交的描述" 3.切換到主分支 git checkout master 4.吧 testlog 分支的檔案合併到 master 分支 git merge testlog 5.檢視所有分支 git branch
場景二:程式碼回滾到某個提交的節點和重新回滾到原來的節點
正常開發中可能由於疏忽把帶有bug的程式碼提交到了遠端,經過部署後影響了線上版本。發現後由於時間緊急沒有時間修復,可以吧程式碼回滾到修改之前的版本緊急上線來確保線上沒有問題,然後認真仔細的定位問題,等待後續重新發布上線。接下來檢視具體操作步驟
1.git log 檢視最近提交記錄,找到要回滾到哪個節點
git log
下圖可以看到最近提交的幾次記錄,按方向鍵下可以往下翻,確認後 Ctrl + c 退出檢視
2.找到你需要回滾的commitId,輸入git reset --hard {commitId},將本地檔案回滾
git reset --hard b8984a708c42a85d23d13a83c890609738824c75
下圖表示我已經將程式碼回滾到了之前的節點
3.回滾到之前的節點
git log -g
git log -g 可以檢視所有的提交記錄,找到最後一次的提交記錄回滾過去,和上述操作相同
找到最後一次的提交記錄重新回滾,下圖表示重新回滾了回去
整體流程回顧
1.檢視最近提交記錄找到要回滾的 commit id 右鍵複製 git log 2.根據 commit id 回滾程式碼 git reset --hard xxxxxxxxxxxxxxx 3.檢視所有的提交記錄,將程式碼重新滾回去 git log -g