2015-02-23 1 views
4

У меня есть репозиторий git с подмодулем. Мне нужно поменять изменения, которые я ранее спрятал. Однако это вызывает конфликт слияния на ссылке подмодуля.Как разрешить конфликты слияния git на подмодуле из `git stash pop`

Я хочу сохранить свои изменения из кошелька, кроме подмодуля. Для большинства файлов кода я могу разрешить конфликт, отредактировав конфликтный файл, но это не похоже на подмодуль.

Как я могу разрешить конфликт слияния и все еще извлечь мои изменения из кошелька?

$ 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 

$ 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 

ответ

2

Как git status комментарии говорят: git reset HEAD some-submodule.

Кстати, после того, как вы дважды проверили, что ваше дерево и индекс как они должны быть, вы, вероятно, захотите git stash drop. git stash pop обычно это делает, но не происходит конфликтов.

+1

Ах, я попробовал «git reset HEAD some-subodule /' безуспешно (shell tab-autocomplete добавляет косую черту для каталога). Мне пришлось удалить косую черту. – Mashmagar