首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决子模块上“git藏弹出”上的git合并冲突

如何解决子模块上“git藏弹出”上的git合并冲突
EN

Stack Overflow用户
提问于 2015-02-23 20:33:40
回答 2查看 19.4K关注 0票数 14

我有一个带有子模块的git存储库。我需要弹出我以前藏过的更改。但是,这会导致子模块引用上的合并冲突。

除了子模块之外,我希望将更改从存储区中保存下来。对于大多数代码文件,我可以通过编辑冲突的文件来解决冲突,但这似乎不是子模块的选项。

如何解决合并冲突,并仍然从隐藏中提取更改?

代码语言:javascript
复制
$ git stash pop
warning: Failed to merge submodule some-submodule (commits don't follow merge-base)
Auto-merging some-code
Auto-merging some-submodule
CONFLICT (submodule): Merge conflict in some-submodule
代码语言:javascript
复制
$ git status
# On branch some-branch
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   modified:   some-code
#
# Unmerged paths:
#   (use "git reset HEAD <file>..." to unstage)
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#
#   both modified:      some-submodule
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-23 20:37:18

正如git status评论所述:git reset HEAD some-submodule

顺便说一句,在您再次检查了您的树和索引是否应该是它们之后,您可能希望使用git stash dropgit stash pop通常会这样做,但在发生冲突时不会这样做。

票数 20
EN

Stack Overflow用户

发布于 2019-04-04 14:53:36

我正在寻找一种更干净的解决方案,但最终编辑的内容变得更简单了。YMMV

代码语言:javascript
复制
git stash show -v > foo
$EDITOR foo
       (remove the fluff you don't want)
git apply < foo

在我的例子中,简单地删除“子项目提交”和相关的diff行就可以了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28682919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档