git多人协作

一、git中不同人修改了同文件的同一区域如何处理?

①首先,2个用户先使用git pull命令把仓库更新下:

git pull

②张同学修改了代码,在代码最后新增了:张同学测试成功!

并提交到本地仓库:

$ git commit -am"Add 张同学测试成功!"

③而且,张同学一修改完,就直接push到远端了:

git push

远端代码情况:

④与此同时,江同学也修改了代码,在代码相同位置处新增了:江同学测试成功!

并提交到本地仓库:

$ git commit -am"Add 江同学测试成功!"

⑤江同学也打算推送到远程仓库,此时看下会发生些什么:

git push

发现推送报错。

那么该如何处理呢?

①你push的时候报错,说明远端变了,因此,需要先进行一下pull操作

git pull

但此时pull也失败了,提示git自动merge失败,有文件冲突了。

②如何解决冲突呢?这里用到的是命令行方式。在文件里找到出现冲突的位置:

这里需要人为手动解决冲突。

将git冲突时产生的提示符删除,修改代码中需要保留的信息,保存退出。本次修改为:

 ③现在,我们看下当前git的状态,这里还需要进行一次提交才行:

$ git status
$ git commit -am"Resolved conflict by 保留为:江同学测试成功"

④本地的冲突解决掉之后,我们要及时的把这个commit push到远端去:

git push

 只有push上去了,其他同学才能拿到我们最新的代码。

⑤此时,我们再到github上看下现象:

已经修改为:江同学的代码啦!

保留了需要的代码,冲突解决!

二、git中不同人修改了同文件的不同区域如何处理?

这种情况就比较简单了,git会自动合并。

①例如,A同学在代码前面新增了:

并提交到远程仓库。 

②B同学在代码末尾新增了:

③这时,B一般pull前先git push拉一下远端最新代码,会与本地仓库的自动merge。(不需要再次commit提交了)。

 ④B的本地仓库代码情况为:

 B再git push提交到远端:

 总结:注意点就是每次push代码前先pull一下,保证和远程的最新镜像保持一致。如果不放心的话,可以本地备份一下自己修改的代码哦!

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值