質問

しばらくして、gitリポジトリを更新したいと思ったのですが、何かがおかしくなりました。この状況から抜け出す適切な方法は何ですか?

mblsha@siruba:~/src/psi/ $ git status
iris: needs merge
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   modified:   src/common.cpp
#
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#
#   unmerged:   iris
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   gupdate.sh
mblsha@siruba:~/src/psi/ $ git submodule status
+cf237ef8f3d9dc058dbde47e6973e6388608ce60 iris (heads/master)
+cf237ef8f3d9dc058dbde47e6973e6388608ce60 iris (heads/master)
+cf237ef8f3d9dc058dbde47e6973e6388608ce60 iris (heads/master)
mblsha@siruba:~/src/psi/ $ cd iris 
mblsha@siruba:~/src/psi/iris/ $ cat .git/HEAD 
cf237ef8f3d9dc058dbde47e6973e6388608ce60
役に立ちましたか?

解決

gitサブモジュールに関しては、発生するほとんどすべての問題は次の方法で解決できます。

1. deleting the submodule (rm -r iris)
2. recreating it again (git submodule update)

明らかに、サブモジュールにローカルな変更を加えた場合、これはそれらを永続的に削除します。したがって、ローカルな変更がある場合は、最初にそれらをプッシュしたことを確認してください。

他のヒント

同様の質問を投稿しましたここでstackoverflowについて、自分で答えましたが、サブモジュールの競合の問題に対して git reset HEAD iris を使用するとうまくいくことがわかりました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top