Feature分支
- 為什么要用到分支
- 實體分析
為什么要用到分支
??軟體開發中,總有無窮無盡的新功能要不斷添加進來,
??在添加一個新功能的時候,你肯定不希望因為一些實驗性質的代碼,把主分支搞亂了,所以,每添加一個新功能,最好新建一個feature分支,在上面開發,完成后,合并,最后,洗掉該feature分支,
實體分析
??假如現在你接到了一個新任務,開發代號為feature-visual,該功能用于撰寫可視化的介面,
于是準備開發
$ git switch -c feature-visual
fatal: not a git repository (or any of the parent directories): .git
如果產生fatal: not a git repository (or any of the parent directories): .git的報錯,報錯提示:沒有.git這個目錄
解決辦法:將git進行初始化,在進行創建分支
administrator@BF-201802061547 MINGW64 ~
$ git init
Initialized empty Git repository in C:/Users/Administrator/.git/
administrator@BF-201802061547 MINGW64 ~ (master)
$ git switch -c feature-visual
Switched to a new branch 'feature-visual'
幾分鐘后,開發完畢:
將我們的新分支添加到暫存區
administrator@BF-201802061547 MINGW64 ~ (feature-visual)
$ git add visual.py
warning: LF will be replaced by CRLF in visual.py.
The file will have its original line endings in your working directory
此時如果有出現warning: LF will be replaced by CRLF in visual.py.The file will have its original line endings in your working directory的提示,這可能是你的專案使用了GitHub的開源專案,這個開源專案上傳的環境(Linux)和你本次上傳GitHub倉庫的環境(Windows)不同,例如:本機上傳的環境是win10 ,而在你本機專案中參考的GitHub專案上傳環境是Linux,windows中的換行符為 CRLF,而在Linux下的換行符為LF
解決辦法:可以選擇忽略,也可以敲下面的命令
git config --global core.autocrlf false
administrator@BF-201802061547 MINGW64 ~ (feature-visual)
$ git status
On branch feature-visual
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: visual.py
administrator@BF-201802061547 MINGW64 ~ (feature-visual)
$ git commit -m "add feature vulcan"
[feature-visual (root-commit) 24d1a7a] add feature vulcan
1 file changed, 2 insertions(+)
create mode 100644 visual.py
切回master,準備合并
$ git switch master
一切順利的話,feature分支和bug分支是類似的,合并,然后洗掉,
但是!
就在這時,接到上級的命令,因經費不足,新功能必須取消!
雖然白干了,但是這個包含機密資料的分支還是必須就地銷毀:
administrator@BF-201802061547 MINGW64 ~ (master)
$ git branch -d feature-visval
error: The branch 'feature-visval' is not fully merged.
If you are sure you want to delete it, run 'git branch -D feature-visval'.
銷毀失敗,Git友情提醒,feature-visual分支還沒有被合并,如果洗掉,將丟失掉修改,如果要強行洗掉,需要使用大寫的-D引數,,
現在我們強行洗掉:
administrator@BF-201802061547 MINGW64 ~ (master)
$ git branch -D feature-visval
Deleted branch feature-visval (was 9e06f3c).
終于洗掉成功!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/267409.html
標籤:其他
上一篇:【三】版本之間穿梭切換
