目前只有一個分支
我們可以這樣想像,每個commit都是一個節點,指向特定的版本,而每個版本都有專屬的Id。
接下來,可以使用版本Id,在特定版本,建立分支。
建立一條分支(br3),並新增檔案(e.txt),讓它成為最新的版本。
再建立一條feature分支。
建立後的線圖。
從線圖可以看出,br1與br2是已經合併的分支,br3則是未合併。
在master分支查看所有分支。
加上--merged,可以查看所有已合併分支。
沒有br3,因為剛剛只建立br3,並未將它合併。
注意,如果在br3查看所有已合併分支。
會出現本身分支。
因為,不管有沒有合併,預設會秀出自己的分支。
那是否能顯示未合併的分支呢?答案是可以的。
將參數改成--no-merged 即可。
來看看stackoverflow,別人提供的答案。
在綠色勾勾的回答,我們可以找到最佳答案。
指令git branch --merged | egrep -v "(^*|master|dev)" | xargs git branch -d
這裡,我們要修改的是篩選條件(^*|master|dev),其他都是固定的。
篩選條件是,除了現在的分支(*)、master跟dev之外,其他以合併的分支一律刪除。
注意,若在windows環境,只有Git Bash能執行這段程式碼,因為只有Git Bash有支援egrep與xargs的功能。
在執行之前,修改一下篩選條件,(^*|master|feature)。
執行。
訊息顯示,刪除了br1與br2分支。
確認。
以上,就是一次將所有已合併的分支刪除的方式。