Git使用(五):解决冲突以及如何避免冲突

说明:多人开发时,两人同时修改同一个文件,第一个人修改完push代码之后,第二个人再pull代码时就会发生冲突:因为远程仓库的文件和你本地仓库的文件有差异。


一、首先,记住


  • push 之前先 pull
  • pull 之前先 commit
  • 在修改文件之前先 pull

二、模拟冲突


1、创建两个客户端

将本地项目复制一份出来,模拟制造出两个客户端,这里成为 客户端1、客户端2。


2、修改并提交代码

修改客户端1代码:console.log('冲突测试:客户端1的修改'),并提交到远程仓库:

git add .
git commit -m ‘冲突测试:客户端1的提交’
git pull
git push

修改客户端2代码:console.log('冲突测试:客户端2的修改'),并提交到远程仓库:

git add .
git commit -m ‘冲突测试:客户端2的提交’
git pull

git pull 之后,就会发现冲突。这时候会看到文件变成了这样:

在这里插入图片描述


三、解决冲突


1、手动修改冲突文件

如下:
在这里插入图片描述

2、git add

执行命令 git add 更新文件的索引(index);

3、合并冲突

执行命令 git rebase --continue 合并冲突;

再次 push 即可

四、处理冲突的相关命令


git rebase 参数说明

命令描述
git rebase --abort放弃合并,回到pull之前的状态
git rebase --skip会将引起冲突的commits丢弃掉(慎用!!)
git rebase --continue合并冲突,结合"git add filename"命令一起用与修复冲突


系列文章


Git专栏

Git使用(一):安装与配置
Git使用(二):创建项目并提交到远程仓库
Git使用(三):分支管理,创建分支、合并分支、合并分支的某一次提交等
Git使用(四):提交管理,修改提交信息、合并多次提交、版本回退、撤销本地文件修改等
Git使用(五):解决冲突以及如何避免冲突
SmartGit 安装及使用(一):安装及配置
SmartGit 安装及使用(二):工作界面介绍、提交代码以及防止代码冲突等操作
SmartGit 安装及使用(三):撤销提交、合并多次提交等操作
SmartGit 安装及使用(四):创建、合并分支以及解决冲突等操作
SmartGit 安装及使用(附录):注册非商业许可证
【Git】如何生成SSH key
【Git】.gitignore文件语法以及修改后无效的解决办法
【Git】Authentication failed for 错误解决
【Git】SSL certificate problem: unable to get local issuer certificate错误的解决办法
【Git】error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值