更新時間:2022年08月30日18時07分 來源:傳智教育 瀏覽次數(shù):
在項目的正常開發(fā)過程中,之前發(fā)布過的版本可能很會出bug,這時就需要停下來現(xiàn)在的開發(fā)任務,先去修改bug,完成后再回來繼續(xù)開發(fā)任務Git中stash提供了保存現(xiàn)場的功能,可以把當前工作區(qū)、暫存區(qū)中的內容不需要提交而保存下來,轉而去做bug修復,完成后再恢復現(xiàn)場,繼續(xù)開發(fā)工作。
示例如下:停止當前工作,修復master分支下的一個bug,為修改dailyfresh/settings.py文件語言和時區(qū)的原內容為:
LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC'將語言和時區(qū)改為:
LANGUAGE_CODE = 'zh-Hans' TIME_ZONE = 'Shanghai/Asia'接下來我們開始來創(chuàng)建不影響當前工作的Debug分支。
1.查看當前狀態(tài)
git status
2.保存現(xiàn)場
git stash
再查看當前狀態(tài),發(fā)現(xiàn)是干凈的
git status
3.切換到master分支
git checkout master
4.新建臨時分支用于修復bug,用完后會刪除此分支
git checkout -b bug001
5.按照上面的設計,修改dailyfresh/settings.py文件的語言和時區(qū)如下
LANGUAGE_CODE = 'zh-Hans' TIME_ZONE = 'Shanghai/Asia'
添加:將工作區(qū)中的更改添加到暫存區(qū)
注意:當前目錄為manage.py文件所在目錄
(py_django) python@ubuntu:~/Desktop/pytest/django1/dailyfresh$ git add dailyfresh/settings.py
提交:將暫存區(qū)的內容提交到倉庫區(qū)
git commit -m '修復時區(qū)語言'
6.切換回master分支
git checkout master
7.將bug001分支合并到master分支
因為臨時分支用完后會被刪除,無法通過分支查詢歷史記錄,所以使用臨時分支時需要使用no-ff的方式,同時寫上-m備注信息
git merge --no-ff -m "修復bug-語言時區(qū)" bug001
推送到服務器
git push
8.刪除臨時分支bug001
git branch -d bug001
9.切換回工作分支zhujiao
git checkout zhujiao
查看現(xiàn)場列表
git stash list
恢復現(xiàn)場
git stash pop
恢復現(xiàn)場后查看工作狀態(tài)
git status
接下來可以在這個分支繼續(xù)開發(fā)。