---
# System prepended metadata

title: git 回滾提交
tags: [git date202209]

---

---
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)
