过了一段时间我想更新我的git repo,然后出了点问题。出现这种情况的正确方法是什么?
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
答案 0 :(得分:5)
说到git子模块,几乎遇到的任何问题都可以解决:
1. deleting the submodule (rm -r iris)
2. recreating it again (git submodule update)
显然,如果您对子模块进行了本地更改,则会永久删除它们,因此如果您有本地更改,请确保先将其推送。
答案 1 :(得分:3)
我在stackoverflow上发布了类似的question,最后自己回答了问题,但我发现使用git reset HEAD iris
可以解决我的子模块冲突问题。