推薦一個 git 工作流:合併多次提交為一次提交

多重閱讀發表於2018-07-01

在實際工作中,除了全部完成一項任務而進行正式提交之外,經常我們會需要做一些其他提交,例如:

  • 雖然任務沒完成,但需要將程式碼從一個機器部署到另一個機器。
  • 階段性完成,提交之後使得下一步的變更更清楚。
  • 臨時小的改變,與任務本身相關性不大。

為了讓程式碼提交歷史更加清晰,如何合併這些零零碎碎的提交呢?下面推薦一個做法:

  1. 建立分支,在分支中完成任務,期間可能有多次提交。

  2. 任務完成之後,切換到主分支或其他分支。

  3. 將分支的修改全部合併。注意,這裡使用了**–squash**,因此只是合併程式碼,並沒有實際提交:

git merge --squash [branch name]

      4. 正常提交:

git commit -m "message"

這樣,就把在分支裡做的全部修改合併成一次提交。

補充說明一點,這樣合併了修改的內容,但 git 會認為沒有進行 merge 操作,因此合併之後,使用下面的命令來強制刪除分支:

git branch -D [branch name] 

相關文章