軟件開發(fā)中,總有無窮無盡的新的功能要不斷添加進來。
添加一個新功能時,你肯定不希望因為一些實驗性質(zhì)的代碼,把主分支搞亂了,所以,每添加一個新功能,最好新建一個 feature 分支,在上面開發(fā),完成后,合并,最后,刪除該 feature 分支。
現(xiàn)在,你終于接到了一個新任務(wù):開發(fā)代號為 Vulcan 的新功能,該功能計劃用于下一代星際飛船。
于是準備開發(fā):
$ git checkout -b feature-vulcan
Switched to a new branch 'feature-vulcan'
5 分鐘后,開發(fā)完畢:
$ git add vulcan.py
$ git status
# On branch feature-vulcan
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: vulcan.py
#
$ git commit -m "add feature vulcan"
[feature-vulcan 756d4af] add feature vulcan
1 file changed, 2 insertions(+)
create mode 100644 vulcan.py
切回 dev,準備合并:
$ git checkout dev
一切順利的話,feature 分支和 bug 分支是類似的,合并,然后刪除。
但是,
就在此時,接到上級命令,因經(jīng)費不足,新功能必須取消!
雖然白干了,但是這個分支還是必須就地銷毀:
$ 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 分支還沒有被合并,如果刪除,將丟失掉修改,如果要強行刪除,需要使用命令git branch -D feature-vulcan
。
現(xiàn)在我們強行刪除:
$ git branch -D feature-vulcan
Deleted branch feature-vulcan (was 756d4af).
終于刪除成功!
http://wiki.jikexueyuan.com/project/git-tutorial/images/force-delete-br.gif" alt="" />
開發(fā)一個新 feature,最好新建一個分支;
如果要丟棄一個沒有被合并過的分支,可以通過git branch -D <name>
強行刪除。