git快速解决冲突

前言

很多人像我一样提交代码时,遇到冲突就会有点慌,但多人合作,冲突是不可避免的,那么我们怎么借助工具,高效的解决冲突呢?下面给大家介绍一下我的方法。

环境

工具:vscode
插件:GitLens
你只需要一个vscode,并装上GitLens插件即可,GitLens会给你的每行代码一个提交历史记录提示,只需鼠标聚焦到这行就可以,如图,

clipboard.png

技巧

  • 当你看到大片冲突的时候是不是有点慌

clipboard.png

  • 别急,通过GitLens,我们可以快速知道冲突代码的左右,以及提交人

比如这段代码,有两个不同之处,1.代码风格不一样,2.红框部分
1.代码风格很容易解决

  1. 红框部分,如果你不明白这段代码意图,你可以根据GitLens提示的 作者 提交时间 提交信息等快速理解意图,如果你还是不理解你也可以找到原作者

clipboard.png

### 如何使用Git命令行解决冲突 当多个分支中的更改影响同一文件的相同部分时,可能会发生合并冲突。为了有效处理这些情况,开发者可以遵循一系列特定的操作来解决问题并继续工作流。 #### 解决冲突的一般流程 一旦检测到冲突,在尝试完成合并之前,必须先解析这些问题。这通常涉及以下几个方面: - **识别冲突**:执行`$ git status`查看哪些文件存在冲突。 - **编辑冲突文件**:打开含有冲突标记(<<<<<<<, =======, >>>>>>>)的文件,手动调整内容以消除差异[^1]。 ```bash # 查看状态以找到有冲突的文件 $ git status ``` 对于每一个包含冲突提示符的区域,移除不必要的标签,并保留期望的内容版本。 - **标记已解** 在解决了所有的冲突之后,通过运行下面这条指令告知Git该文件已经准备好被提交: ```bash $ git add <filename> ``` 此时,文件会被认为是没有冲突的状态,并准备好了用于最终确认。 - **提交解决方案** 最后一步就是创建一个新的提交记录这次修改的结果。此操作可以通过如下方式实现: ```bash $ git commit -m "Resolved merge conflict by incorporating both suggestions." ``` 如果是在变基过程中遇到冲突,则可能需要用`git rebase --continue`代替普通的提交动作来继续变基过程[^2]。 #### 修改最近一次提交的信息或内容 有时,在做出提交后会发现遗漏了一些变更项或是想要修正提交说明文字。这时就可以利用`commit --amend`功能来进行快速更正而不必创建额外的历史条目。 ```bash // 添加忘记加入暂存区的文件 $ git add morefile // 更新最后一次提交,允许改变提交信息 $ git commit --amend ``` 这种做法适用于尚未推送到远程仓库的情况;否则应当谨慎行事以免引起团队成员间的混乱。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值