美文网首页
git 处理冲突

git 处理冲突

作者: 苍老师的眼泪 | 来源:发表于2022-08-01 00:31 被阅读0次

1. 提交时发现冲突

情形:甲和乙共同开发一个项目,原本甲开发A功能,乙开发B功能,互不干扰。然而其中一个配置文件是A和B功能都依赖的。有一天乙修改了这个配置文件,比如多加了B功能需要的参数,然后提交了他的修改。刚好此时甲也因为A功能需要编辑这个配置文件,于是甲在不知道乙修改了配置文件的情况下他也修改了配置文件(如果甲知道乙修改了这个配置文件的话,他可以等乙保存并push上远程仓库后他再 pull 下来,这样就不会引起后面的冲突了)。甲在修改了配置文件后很开心的想要提交后下班了,此时他发现提交时出现了一个错误提示,吓得他顿时菊花一紧!,错误提示为:

To http://xxx.xxx.xxx/group_name/project_name.git
 ! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'http://xxx.xxx.xxx/group_name/project_name.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

意思是提交被拒绝了,因为远程仓库上的修改了某个文件,而甲也修改了某个文件并且想要提交这个文件,于是就冲突了!

解决方法:按照提示,先执行 git pull 将远程仓库的更新拉下来,并修改冲突的文件。
于是甲便乖乖地 pull 下来,发现乙修改了配置文件也不跟他说一声,导致冲突,最后甲不得不接收乙对配置文件的修改(意味着暂时要放弃自己对配置文件的修改):

git checkout --theirs .

这里补充一下合并冲突的命令

用的是 git checkout 命令,但是需要指定参数
--ours:舍弃它们的,使用我们的修改
--theirs:舍弃我们的,使用它们的修改

例如:
对于 main.py 这个文件,使用它们的修改,放弃我们的修改
git checkout --theirs main.py

全部使用它们的修改
git checkout --theirs .

因为他之前肯定是提交了再 push 然后发现提交不了的,所以此时他要再执行:

git add .
git commit -m "accept conf change for B and featureB"

最后再修改配置文件添加自己的配置,最后再提交并push
最终远程仓库会多出一条因为甲处理冲突而产生的历史版本记录:accept conf change for B and featureB

2. 合并冲突发现冲突

甲在A分支改了某个文件并提交了,乙在B分支改了相同的文件并提交了,甲想要合并乙的工作,此时发现冲突了
解决方法:跟上面一样。。。

相关文章

  • git冲突处理

    心情好, 起了个大早写代码, push完代码隐隐约约感觉有什么不对。 上个版本我不是已经把淘里程兑换提示的ui给干...

  • Git 冲突处理

    冲突出现原因:假设当前有分支master和分支dev,开始它们是从同一个节点开始的,以下是他们的操作记录。mast...

  • git 处理冲突

    1. 提交时发现冲突 情形:甲和乙共同开发一个项目,原本甲开发A功能,乙开发B功能,互不干扰。然而其中一个配置文件...

  • git 解决本地冲突+git常用命令

    git 解决本地冲突 处理的方式非常简单,主要是使用git stash命令进行处理,分成以下几个步骤进行处理。 1...

  • git 处理冲突步骤

    背景 工程中有一块功能是在别的远程分支上的,然后自己的分支也是一直在更新的。现在要将该分支上的信功能合到自己的分支...

  • Git 合并冲突处理

    一个项目使用git从多条分支进行开发,一个分支上的修改可能和一个不同分支上的相似,在合并时难免会产生冲突。在产生冲...

  • Git代码冲突处理

    在使用gitpull代码时,经常会碰到有冲突的情况,提示如下信息: error: Your local chang...

  • Git使用和冲突处理

    1. git 使用 cd 进需要存放的文件夹中 每次使用都需要跑一边提交流程 1.git status2.git...

  • git的pull冲突处理

    1、先将本地修改存储起来git stash 这样本地的所有修改就都被暂时存储起来 。是用git stash lis...

  • Git pull 冲突处理办法

    使用git pull代码时,经常会碰到有冲突的情况,提示如下信息: error: Your local chang...

网友评论

      本文标题:git 处理冲突

      本文链接:https://www.haomeiwen.com/subject/hlwaprtx.html