鍍金池/ 教程/ Java/ Feature 分支
操作標(biāo)簽
多人協(xié)作
解決沖突
Git 的誕生
工作區(qū)和暫存區(qū)
搭建 Git 服務(wù)器
Bug 分支
配置別名
從遠(yuǎn)程庫(kù)克隆
分支
添加遠(yuǎn)程庫(kù)
分支管理策略
撤銷修改
安裝 Git
管理修改
生成 SSH key
GitHub
倉(cāng)庫(kù)狀態(tài)
忽略特殊文件
刪除文件
Feature 分支
創(chuàng)建與合并分支
創(chuàng)建版本庫(kù)
創(chuàng)建標(biāo)簽
版本回退
集中式 vs 分布式

Feature 分支

軟件開(kāi)發(fā)中,總有無(wú)窮無(wú)盡的新的功能要不斷添加進(jìn)來(lái)。

添加一個(gè)新功能時(shí),你肯定不希望因?yàn)橐恍?shí)驗(yàn)性質(zhì)的代碼,把主分支搞亂了,所以,每添加一個(gè)新功能,最好新建一個(gè) feature 分支,在上面開(kāi)發(fā),完成后,合并,最后,刪除該 feature 分支。

現(xiàn)在,你終于接到了一個(gè)新任務(wù):開(kāi)發(fā)代號(hào)為 Vulcan 的新功能,該功能計(jì)劃用于下一代星際飛船。

于是準(zhǔn)備開(kāi)發(fā):

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

5 分鐘后,開(kāi)發(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,準(zhǔn)備合并:

$ git checkout dev

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

但是,

就在此時(shí),接到上級(jí)命令,因經(jīng)費(fèi)不足,新功能必須取消!

雖然白干了,但是這個(gè)分支還是必須就地銷毀:

$ 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 分支還沒(méi)有被合并,如果刪除,將丟失掉修改,如果要強(qiáng)行刪除,需要使用命令git branch -D feature-vulcan。

現(xiàn)在我們強(qiáng)行刪除:

$ git branch -D feature-vulcan
Deleted branch feature-vulcan (was 756d4af).

終于刪除成功!

http://wiki.jikexueyuan.com/project/git-tutorial/images/force-delete-br.gif" alt="" />

小結(jié)

開(kāi)發(fā)一個(gè)新 feature,最好新建一個(gè)分支;

如果要丟棄一個(gè)沒(méi)有被合并過(guò)的分支,可以通過(guò)git branch -D <name>強(qiáng)行刪除。

上一篇:忽略特殊文件下一篇:版本回退