要將test分支的多次提交合并到dev分支并壓縮為一個commit,核心是使用 git merge --squash 命令(壓縮合并),具體步驟如下:
詳細步驟:
1. 切換到dev分支并拉取最新代碼
先確保本地dev分支是最新的,避免合并時沖突:
git checkout dev # 切換到dev分支
git pull origin dev # 拉取遠程dev的最新代碼(如有多人協作,必須做這步)
2. 壓縮合并test分支的所有提交
使用 --squash 選項將test分支的所有提交“壓縮”為一個未提交的修改:
git merge --squash test
? 這一步不會創建合并commit,而是把test分支的所有變更匯總到當前工作區(相當于把test的多次提交“打包”成一次修改)。
3. 提交壓縮后的修改
壓縮后的修改需要手動提交,此時可以寫一個匯總性的commit信息(概括test分支的所有變更):
git add . # 確保所有修改被暫存(如有新增文件需手動add)
git commit -m “合并test分支的功能:[匯總test分支的核心變更]”
4. 推送到遠程dev分支
最后將本地dev分支的新提交推到遠程:
git push origin dev
關鍵說明:
? --squash 的作用:只合并代碼變更,不保留test分支的提交歷史,而是將所有變更壓縮為一次“待提交”狀態,最終由你手動生成一個新commit,保持dev分支歷史簡潔。? 合并后,test分支的原始提交歷史不會被影響(依然保留多次提交記錄),后續可繼續在test分支開發。? 若合并過程中出現沖突,需先解決沖突(修改沖突文件),再執行 git add <沖突文件> 標記為已解決,最后執行 git commit 完成提交。