没有做任何更改时Git合并冲突

 ssben_530 发布于 2022-12-20 19:20

我克隆了一个回购,然后,几个小时后,我做了'git pull'.但是出现了合并冲突,我不明白为什么,因为我没有对克隆回购进行任何改动.

git status
On branch master
Your branch is up-to-date with 'origin/master'.

nothing to commit, working directory clean


git pull
remote: Counting objects: 6211, done.
remote: Compressing objects: 100% (849/849), done.
remote: Total 3237 (delta 2756), reused 2846 (delta 2371)
Receiving objects: 100% (3237/3237), 865.51 KiB | 152.00 KiB/s, done.
Resolving deltas: 100% (2756/2756), completed with 867 local objects.
From git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next
 + 76c2c6d...4d046e9 master     -> origin/master  (forced update)
 + 1e13928...003e6ba akpm       -> origin/akpm  (forced update)
 + 9d1d11d...8bcfe39 akpm-base  -> origin/akpm-base  (forced update)
   37504a3b..8ba4caf stable     -> origin/stable
 * [new tag]         next-20140918 -> next-20140918
Performing inexact rename detection: 100% (318500/318500), done.
Auto-merging tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt
CONFLICT (content): Merge conflict in tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt
Auto-merging tools/testing/selftests/rcutorture/configs/rcu/TREE03
Auto-merging localversion-next
CONFLICT (add/add): Merge conflict in localversion-next
Auto-merging kernel/rcu/tree.c
CONFLICT (content): Merge conflict in kernel/rcu/tree.c
Auto-merging drivers/target/target_core_fabric_configfs.c
CONFLICT (content): Merge conflict in drivers/target/target_core_fabric_configfs.c
Auto-merging drivers/target/iscsi/iscsi_target_util.c
Auto-merging drivers/hwmon/Kconfig
Auto-merging drivers/gpu/drm/i915/intel_ringbuffer.c
Auto-merging drivers/gpu/drm/i915/intel_drv.h
Auto-merging drivers/gpu/drm/i915/intel_dp.c
Auto-merging drivers/gpu/drm/i915/intel_display.c
Auto-merging drivers/gpu/drm/i915/i915_gem.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/i915_gem.c
Auto-merging drivers/clk/rockchip/clk-rk3288.c
Auto-merging arch/mips/include/asm/topology.h
Auto-merging arch/m68k/coldfire/m54xx.c
Auto-merging Next/quilt-import.log
CONFLICT (add/add): Merge conflict in Next/quilt-import.log
Auto-merging Next/merge.log
CONFLICT (add/add): Merge conflict in Next/merge.log
Auto-merging Next/SHA1s
CONFLICT (add/add): Merge conflict in Next/SHA1s
warning: inexact rename detection was skipped due to too many files.
warning: you may want to set your merge.renamelimit variable to at least 5040 and retry the command.
Automatic merge failed; fix conflicts and then commit the result.

git status
On branch master
Your branch and 'origin/master' have diverged,
and have 236 and 347 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)

You have unmerged paths.
  (fix conflicts and run "git commit")

Changes to be committed:
    ...

Unmerged paths:
  (use "git add ..." to mark resolution)

    both added:      Next/SHA1s
    both added:      Next/merge.log
    both added:      Next/quilt-import.log
    both modified:   drivers/gpu/drm/i915/i915_gem.c
    both modified:   drivers/target/target_core_fabric_configfs.c
    both modified:   kernel/rcu/tree.c
    both added:      localversion-next
    both modified:   tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt

Pavel Šimerd.. 7

首先,我每天都在使用一些预防措施......

git merge --ff-only当我不期望任何实际的合并时,我学会了使用.我看到它也可以使用,git pull --ff-only但我经常使用git pull --rebase它,因此它不会创建任何合并提交,而是在上游重放我的本地更改(如果有的话).但是,我无法解释这个问题,因为我不知道linux-next的规则.

合并冲突的唯一原因是合并到不同的分支.如果你的分支没有改变,人们会期待一个干净的快进合并.适合您的描述的唯一解释是远程不再在其历史记录中包含您的提交,这意味着上游具有重写的历史记录.这在一些工作流程中非常常见,其中已发布的分支只是指向最新提交更多更改集的指针.但是我没有关于linux-next的具体信息.

危险区域:出现这种情况时,您可以使用git fetch(然后使用实际远程和分支名称git reset --hard origin/master替换originmaster)来获取上游数据,然后更新您的分支参考.但是请确保您没有任何想要保存的更改,因为这是一种破坏性操作.

1 个回答
  • 首先,我每天都在使用一些预防措施......

    git merge --ff-only当我不期望任何实际的合并时,我学会了使用.我看到它也可以使用,git pull --ff-only但我经常使用git pull --rebase它,因此它不会创建任何合并提交,而是在上游重放我的本地更改(如果有的话).但是,我无法解释这个问题,因为我不知道linux-next的规则.

    合并冲突的唯一原因是合并到不同的分支.如果你的分支没有改变,人们会期待一个干净的快进合并.适合您的描述的唯一解释是远程不再在其历史记录中包含您的提交,这意味着上游具有重写的历史记录.这在一些工作流程中非常常见,其中已发布的分支只是指向最新提交更多更改集的指针.但是我没有关于linux-next的具体信息.

    危险区域:出现这种情况时,您可以使用git fetch(然后使用实际远程和分支名称git reset --hard origin/master替换originmaster)来获取上游数据,然后更新您的分支参考.但是请确保您没有任何想要保存的更改,因为这是一种破坏性操作.

    2022-12-20 19:23 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有