1. 程式人生 > 實用技巧 >利用faketime修改docker內的時間-20201027

利用faketime修改docker內的時間-20201027

場景一:多分支開發,不影響主分支

在工作中遇到要新增功能但同時不能影響主分支現有的業務邏輯,我們可以新建一個分支開發程式碼,測試完畢後再合併到主分支,不用擔心新程式碼影響現有程式碼邏輯。接下來具體看操作步驟:

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 testlog

2.在新分支編寫程式碼並提交到本地
  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