搜尋

首頁  >  問答  >  主體

看看 Git 分支是否已經合併, 有什麼好辦法?

多人開發使用了較多分支, 有些還沒覺得及時清理, 結果積累下來不少,
有些比較容易看出來手動刪除, 有些就不大清楚了...
往 commit history 看會比較麻煩, 有沒有比較方便看的辦法?

另外合併的話, 有時候合的是 git merge branch-a,
有時候合併會是 git merge origin/branch-a,
看看是否合併是否可以不受這個差異的影響?

天蓬老师天蓬老师2772 天前1137

全部回覆(4)我來回復

  • 为情所困

    为情所困2017-04-24 16:02:56

    試試:
    - git branch --merged
    - git branch --no-merged

    回覆
    0
  • PHPz

    PHPz2017-04-24 16:02:56

    也可以試試 git log | grep branch_name

    回覆
    0
  • 世界只因有你

    世界只因有你2017-04-24 16:02:56

    推薦一個工具 tig
    效果如下:

    大寫的 M 代表的就是 merge 操作,这样看应该很清晰吧,每个分支的历史都可以看得清清楚楚,当然号称 git 浏览器的 tig 的作用不僅如此,還有更多強大的地方,非常值得一用。

    回覆
    0
  • 某草草

    某草草2017-04-24 16:02:56

    分支如果是顯式merge,直接git branch -d xxx就行,如果沒有顯示merge,這個指令是不執行的。

    但是有些分支可能被隱式merge,也就是它的程式碼被合併到了主幹(merge --squash/rebase),但是沒有執行過顯式的merge,這時候怎麼辦呢。例如這個分支叫feature,主幹是master

    git checkout feature
    git rebase master(以master为基 rebase)
    解决下冲突
    这时候feature分支就是以master HEAD为基的分支了,之后是merge还是丢弃随你便。。
    当然rebase后发现feature和master 指向同一个HEAD,那么这个分支肯定是合并过的,直接-d删掉即可
    

    回覆
    0
  • 取消回覆