GitHub 三種合併代碼方式的差別

  1. Create a merge commit

PR Commit 記錄:

集成分支 Commit 記錄:

Create a merge commit 會將 PR 中的全部 Commit 記錄完整帶到集成分支中,同時增加一條 PR Commit 信息。

  1. Squash and merge

PR Commit 記錄:

集成分支 Commit 記錄:

Squash and merge 合併之後,集成分支只會增加一條 Commit 記錄。觀感不錯,同時對具有多條 Commit 記錄的 PR 友好,值得推薦。 PR 的標題和備註都可以在集成分支直接查看。

  1. Rebase and merge

PR Commit 記錄:

集成分支 Commit 記錄:

Rebase and merge 會將 PR 中的全部 Commit 記錄完整帶到集成分支中。另外如果開發分支沒有 Rebase ,繼續提交 PR 記錄會是這樣:

但已經合併的代碼不會再次合併,只是影響 PR Commit 記錄的觀感。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://www.chenshaowen.com/blog/the-difference-of-tree-ways-of-merging-code-in-github.html