我瞭解如何刪除已合併到主設備中的分支(http://stevenharman.net/git-clean-delete-already-merged-branches)。如何刪除已被壓扁的分支,然後合併爲主?Git - 清理壓扁的分支?
例如:
C:\source [master]> git checkout -b feature-a-inprogress
C:\source [feature-a-inprogress]> git ac "WIP"
C:\source [feature-a-inprogress]> git ac "WIP"
C:\source [feature-a-inprogress]> git checkout master
C:\source [master]> git checkout -b feature-a-complete
C:\source [feature-a-complete]> git merge --squash feature-a-inprogress
C:\source [feature-a-complete]> git ac "Completed Feature A"
C:\source [feature-a-complete]> git push origin feature-a-complete
當我運行上面的清理,將刪除功能-A-完整,但不功能-A-INPROGRESS。如果您要比較Feature-A-Complete和Feature-A-InProgress的當前狀態,它們將是相同的(儘管它們的歷史會有所不同)。
據我所知,刪除Feature-A-InProgress不一定是安全的,因爲中間版本會丟失,但在這種情況下,我不在乎,因爲最終狀態是致力於主人。
謝謝!
編輯:例如在固定不一致的分支名稱
'GIT中ac'不是一個真正的命令。你不應該假設每個人都在使用你的自定義別名。 – meagar
另外,你爲什麼不只是'git checkout master; git merge --squash feature-a-inprogress'而不是創建一個無用的中間分支? – meagar
@meagar啊,我認爲這很常見,但我的ac被定義爲'ac =!git add --all。 && git commit -am',一切都通過Github拉請求,所以沒有人直接修改主。 – Steve