Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未做任何更改时Git合并冲突_Git_Git Merge - Fatal编程技术网

未做任何更改时Git合并冲突

未做任何更改时Git合并冲突,git,git-merge,Git,Git Merge,我克隆了一个回购协议,然后,几个小时后,我制作了“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: Co

我克隆了一个回购协议,然后,几个小时后,我制作了“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 <file>..." 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
git状态
论分行行长
您的分支机构是最新的“原始/主”分支机构。
没有要提交的内容,正在清理目录
吉特拉力
远程:计数对象:6211,完成。
远程:压缩对象:100%(849/849),完成。
远程:总计3237(增量2756),重复使用2846(增量2371)
接收对象:100%(3237/3237),865.51 KiB | 152.00 KiB/s,完成。
解析增量:100%(2756/2756),完成867个局部对象。
从…起git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next
+76c2c6d…4d046e9主控->原点/主控(强制更新)
+1e13928…003e6ba akpm->origin/akpm(强制更新)
+9d1d11d…8bcfe39 akpm基地->原点/akpm基地(强制更新)
37504a3b..8ba4caf稳定->原点/稳定
*[新标签]next-20140918->next-20140918
执行不精确的重命名检测:100%(318500/318500),完成。
自动合并工具/testing/selftests/RCU/doc/TREE\u RCU-kconfig.txt
冲突(内容):合并工具/testing/selftests/RCU/doc/TREE_RCU-kconfig.txt中的冲突
自动合并工具/测试/自测试/rcu/configs/rcu/TREE03
下一步自动合并本地版本
冲突(添加/添加):下一步在localversion中合并冲突
自动合并内核/rcu/tree.c
冲突(内容):在kernel/rcu/tree.c中合并冲突
自动合并驱动程序/target/target\u core\u fabric\u configfs.c
冲突(内容):在drivers/target/target\u core\u fabric\u configfs.c中合并冲突
自动合并驱动程序/target/iscsi/iscsi\u target\u util.c
自动合并驱动程序/hwmon/Kconfig
自动合并驱动程序/gpu/drm/i915/intel_ringbuffer.c
自动合并驱动程序/gpu/drm/i915/intel_drv.h
自动合并驱动程序/gpu/drm/i915/intel\u dp.c
自动合并驱动程序/gpu/drm/i915/intel_display.c
自动合并驱动程序/gpu/drm/i915/i915_gem.c
冲突(内容):在drivers/gpu/drm/i915/i915_gem.c中合并冲突
自动合并驱动程序/clk/rockchip/clk-rk3288.c
自动合并arch/mips/include/asm/topology.h
自动合并arch/m68k/coldfire/m54xx.c
自动合并下一个/coult-import.log
冲突(添加/添加):在Next/coult-import.log中合并冲突
自动合并下一个/merge.log
冲突(添加/添加):在Next/Merge.log中合并冲突
自动合并下一个/SHA1s
冲突(添加/添加):在下一个/SHA1中合并冲突
警告:由于文件太多,已跳过不精确的重命名检测。
警告:您可能希望将merge.renamelimit变量至少设置为5040,然后重试该命令。
自动合并失败;修复冲突,然后提交结果。
git状态
论分行行长
您的分支和“原始/主”已发生分歧,
分别有236次和347次不同的提交。
(使用“git pull”将远程分支合并到您的分支中)
您有未合并的路径。
(修复冲突并运行“git提交”)
要提交的更改:
...
未合并路径:
(使用“git add…”标记分辨率)
都添加了:下一个/SHA1s
都添加了:Next/merge.log
都添加了:Next/coult-import.log
两个都已修改:drivers/gpu/drm/i915/i915_gem.c
两者都已修改:drivers/target/target\u core\u fabric\u configfs.c
两者都已修改:kernel/rcu/tree.c
都添加了:LocalVersionNext
两者都已修改:tools/testing/selftests/RCU/doc/TREE\u RCU-kconfig.txt

首先,我每天都会使用一些预先警告

我学会了在不需要任何实际合并的情况下使用
git merge--ff only
。我发现也可以使用
git-pull--ff-only
,但我更经常使用
git-pull--rebase
,这样它就不会创建任何合并提交,而是在上游之上重放我的本地更改(如果有)。不过,我无法解释,因为我不知道linux下一步的规则

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


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

除了Pavel的评论之外,还要确保您没有提交您尚未向上游推进的更改。在这种情况下,如果您看到有0个文件需要提交(并且可能睡眠不足),那么当它想要开始合并时,您可能会有点困惑。

我解决此问题的方法是临时切换到其他分支,删除(本地)合并冲突的分支,然后再次获取该分支

git status
show您克隆的回购协议是公开的吗?如果是的话,发布一个链接,让这里的人可以进行调查。任何有写权限的人都可能(恐怖!)重写了历史记录。下一个是linux,我今天再试一次,然后发布结果。可能有人在你的源代码中重新设置了基础?当你不希望进行任何实际合并时,使用[git merge--ff only]是什么意思?