Git解决push遇到冲突问题

适用场景:

两个开发者 A 和 B 同时克隆了同一个远程仓,两人都在本地分支进行修改,并将修改推送到远程仓库。开发者 A 先推送了他的分支到远程仓库,开发者 B 在推送自己的分支时,由于此时远程仓库已经发生变化,可能与他本地的分支不一致,因此Git会拒绝推送。

使用流程和方法:

方法一:使用git pull

按照git的冲突错误提示,先pull更新本地代码本地解决冲突后push到远程,注意解决完冲突后再pull一下防止张三有传了新东西到远程仓库的同一个分支。然后push一下就万事大吉了,如果还是不放心可以用git log看一下日志咯

$ git add .

$ git commit -m "...."

$ git push <远程仓库名> <本地仓分支名>:<远程仓分支名>

若有冲突会提示 error: This is usually caused by another repository pushing to the same ref

如果出现错误提示就先按照错误的提示pull最新代码然后你就会发现你的分支名后面变成了

(merge-dev|MERGING)

这样不要慌先在本地解决一下冲突,使用git status查看一下冲突的文件然后随便用一个编辑器进入冲突的文件

手动解决冲突然后执行命令

git add .

git commit -m '提交解决冲突的代码'

git push到远程就好了

方法二:使用git fetch+git merge(git pull = git fetch+git merge)

1. 在本地创建一个临时分支 temp,并将远程仓分支上的更新拉到 temp

$ git fetch origin <远程仓分支名>:temp

2. 返回到你的分支比如是dev,就git checkout dev,将 temp 合并过来

$ git merge temp

3.开始自动合并如果内容有冲突会返回error需要手动解决冲突

手动解决冲突然后执行命令

git add .

git commit -m '提交解决冲突的代码'

git push到远程就好了

  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当在使用 Git 进行团队协作时,可能会遇到 'git push' 命令导致冲突的情况。冲突通常发生在两个或多个开发者对同一文件的相同部分进行了修改并尝试推送更改时。 要解决这个问题,可以按照以下步骤进行操作: 1. 获取最新的代码:在你开始解决冲突之前,首先确保你的本地仓库是最新的。可以运行 'git pull' 命令来获取最新的代码。 2. 查看冲突:运行 'git status' 命令可以查看哪些文件发生了冲突Git 会将有冲突的文件标记为 'both modified'。 3. 手动解决冲突:打开有冲突的文件,你会看到类似于以下示例的内容: ``` <<<<<<< HEAD // 你的修改 ======= // 其他人的修改 >>>>>>> branch_name ``` 在这个示例中,'<<<<<<< HEAD' 和 '>>>>>>> branch_name' 是 Git 自动生成的标记,表示两个不同分支的修改内容。你需要手动编辑这个文件,决定保留哪些修改或者进行修改的合并。 4. 提交解决后的文件:处理完所有冲突后,使用 'git add' 命令将已解决的文件标记为已暂存,然后运行 'git commit' 命令来提交你的修改。 5. 推送更改:完成提交后,再次运行 'git push' 命令,将你的修改推送到远程仓库。 需要注意的是,解决冲突是一个手动的过程,需要你根据具体情况进行适当的修改和合并。在处理冲突时,请确保你理解自己和其他开发者的修改意图,并保持与团队的沟通以便更好地解决冲突
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值