git submodule冲突推了

时间:2014-06-11 03:36:48

标签: git github git-branch git-merge git-submodules

我有一个非常奇怪,糟糕的情况。免责声明,我是git的新手,而且我搞砸了。

所以我的fork中有很多子模块,基于monodevelop。

首先:我甚至无法使用更新我的子模块 git submodule update --init --recursive
我尝试了一些类似的命令,包括rebase,foreach等。所以我终于使用git submodule foreach git pull origin master得到了最新的。在此之后,我收到了所有文件。然后我承诺并推动了我的更改

现在:我刚注意到我的所有子模块都有冲突。 <<<<<<< HEAD等我不知道这些来自哪里,我也不知道如何解决这些问题。

git status表示一切都是最新的。子模块更新表示即使用力也一切都是最新的。 git fetch说一切都是最新的。

2 个答案:

答案 0 :(得分:1)

git submodule update --init --recursive会将您的子模块更新为特定的SHA1,记录在主仓库的索引中(作为gitlink entry)。

如果您需要一个子模块跟随一个分支,您可以转换该子模块声明,以使其跟随该分支(在初始步骤之后)git submodule update --recursive --remote
请参阅" Git submodules: Specify a branch/tag"

答案 1 :(得分:1)

任何弄乱他们的子模块的人。我也得到了朋友的帮助。

我所做的是合并子模块并将它们提交给我的主人。一般的经验法则是我不应该这样做,而是通过更改向子模块仓库发出单独的拉取请求。

无论如何,我刚进入每个子模块目录git log # hit q to cancel out of the entire output.。当我得到正确提交的提交时,我想回去。
然后我做了git reset --hard c5652 # Partial commit id, if no other branch or file have that name.这是我的问题的解决方法。

我在整个工作中并不是很清楚,我肯定会读更多。