git解决冲突

在使用 Git 合并分支时,如果遇到冲突(Conflict),需要手动解决冲突后再完成合并。以下是详细步骤:

 

---

 

### **1. 确认冲突**

当运行 `git merge <分支名>` 出现冲突时,Git 会提示:

```

Auto-merging <文件名>

CONFLICT (content): Merge conflict in <文件名>

Automatic merge failed; fix conflicts and then commit the result.

```

 

---

 

### **2. 查看冲突文件**

- 使用 `git status` 查看冲突文件列表,标记为 **Unmerged paths**。

- 打开冲突文件,会看到类似标记:

  ```plaintext

  <<<<<<< HEAD

  当前分支的修改内容(例如 master 分支)

  =======

  合并分支的修改内容(例如 feature 分支)

  >>>>>>> feature

  ```

  - `<<<<<<< HEAD` 到 `=======` 之间是当前分支的内容。

  - `=======` 到 `>>>>>>> feature` 之间是要合并的分支的内容。

 

---

 

### **3. 手动解决冲突**

- **编辑冲突文件**,保留需要的代码(删除冲突标记 `<<<<<<<`, `=======`, `>>>>>>>`)。

- 例如,将冲突部分修改为:

  ```plaintext

  最终合并后的内容

  ```

 

---

 

### **4. 标记冲突已解决**

- 将修改后的文件添加到暂存区:

  ```bash

  git add <冲突文件名>

  ```

- 如果有多个冲突文件,可一次性添加所有修改:

  ```bash

  git add .

  ```

 

---

 

### **5. 完成合并提交**

- 提交解决后的结果:

  ```bash

  git commit -m "Merge branch 'feature' and resolve conflicts"

  ```

- Git 会自动生成合并提交信息,也可直接使用默认信息。

 

---

 

### **6. 其他相关命令**

- **取消合并**(回到合并前的状态):

  ```bash

  git merge --abort

  ```

 

---

 

### **工具辅助解决冲突**

- **图形化工具**(推荐新手使用):

  - **VS Code**:内置的 Git 工具会高亮冲突,支持一键选择保留哪部分代码。

  - **GitKraken**、**SourceTree**、**Meld** 等工具提供可视化冲突解决界面。

- **命令行工具**:

  ```bash

  git mergetool

  ```

 

---

 

### **总结流程**

```bash

# 合并分支

git merge feature-branch

 

# 发现冲突后,手动修改文件

git status # 查看冲突文件

vim conflict-file.txt # 手动解决冲突

 

# 标记解决并提交

git add conflict-file.txt

git commit

```

 

通过以上步骤即可解决合并冲突。记得在解决后验证代码功能是否正常!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值