--- title: git 回滾提交 date: 202209 tags: - git date202209 --- # 使用Sourcetree 回到歷史提交 ![](https://i.imgur.com/0gSyZ81.png) ## 提交選項 - 1.軟合併—保持所有本地改動 軟合併是指將此次提交回滾到指定提交位置,但這個過程中會將修改過的文件暫存到暫存區 - 2.混合合併—保持工作副本但重置索引 混合合併是指將此次提交回滾到指定的位置,但這個過程中不會將修改過的文件暫存到暫存 而是將修改過的文件存放在未暫存文件區 - 3.強行合併—丟棄所有副本工作改動 強行合併是指將此次提交回滾到指定的位置,但這個過程中將直接丟棄之前修改的所有文 件,因此在選取此種合併時需要考慮清楚,避免一些不必要的麻煩 ![](https://i.imgur.com/mSeJWYz.png) ## 提交選項範例 以下圖數個commit 當範例 ![](https://i.imgur.com/9QMFItY.png) ### 軟合併 - 將commit5 軟合併 - 合併後,master 指標指到commit5 ![](https://i.imgur.com/hQ1l4BX.png) - 合併後,commit5之後的推送文件存在暫存區 ![](https://i.imgur.com/65HqYpl.png) ### 混合合併 - 將commit5 軟合併 - 合併後,master 指標指到commit5 ![](https://i.imgur.com/xyRaF22.png) - 合併後,commit5之後的推送文件存在未暫存文件區 ![](https://i.imgur.com/PvguChS.png) ### 強行合併 - 將commit5 強行合併 ![](https://i.imgur.com/L2VENgw.png) - 已經推送過的文件直接變成未修改,**整個修改紀錄都不見了** ![](https://i.imgur.com/lavDjdj.png) ## 參考資料 [sourceTree回滾和重置- 掘金](https://juejin.cn/post/7104099382919692324)