天天看點

【Git】Feature分支

文章目錄

  • ​​Feature分支​​
  • ​​小結​​

Feature分支

軟體開發中,總有無窮無盡的新的功能要不斷添加進來。

添加一個新功能時,你肯定不希望因為一些實驗性質的代碼,把主分支搞亂了,是以,每添加一個新功能,最好建立一個feature分支,在上面開發,完成後,合并,最後,删除該feature分支。

現在,你終于接到了一個新任務:開發代号為Vulcan的新功能,該功能計劃用于下一代星際飛船。

于是準備開發,我們目前是位于​

​dev​

​分支的

$ git checkout -b feature-vulcan
Switched to a new branch 'feature-vulcan'      

5分鐘後,開發完畢:

$ git add vulcan.txt

$ git status
On branch feature-vulcan
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   vulcan.txt
        
$ git commit -m "add feature vulcan"
[feature-vulcan 60249fe] add feature vulcan
 1 file changed, 1 insertion(+)
 create mode 100644 vulcan.txt      

切回​

​dev​

​,準備合并:

$ git checkout dev      

一切順利的話,feature 分支和 bug 分支是類似的,合并,然後删除。

但是!

就在此時,接到上級指令,因經費不足,新功能必須取消!

雖然白幹了,但是這個包含機密資料的分支還是必須就地銷毀:

$ git branch -d feature-vulcan
error: The branch 'feature-vulcan' is not fully merged.
If you are sure you want to delete it, run 'git branch -D feature-vulcan'.      

銷毀失敗。Git友情提醒,feature-vulcan分支還沒有被合并,如果删除,将丢失掉修改,如果要強行删除,需要使用大寫的​

​-D​

​參數。。

現在我們強行删除:

$ git branch -D feature-vulcan
Deleted branch feature-vulcan (was 60249fe).      

小結

開發一個新​

​feature​

​,最好建立一個分支;

如果要丢棄一個沒有被合并過的分支,可以通過​

​git branch -D <name>​

​強行删除。