2008-11-10 19 views
5

Bir süre sonra git repo'umu güncellemek istedim ve sonra bir şeyler ters gitti. Bu durumun uygun yolu nedir? o submodules git'e gelinceAlt modül içeren git repo nasıl güncellenir?

[email protected]:~/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 
[email protected]:~/src/psi/ $ git submodule status 
+cf237ef8f3d9dc058dbde47e6973e6388608ce60 iris (heads/master) 
+cf237ef8f3d9dc058dbde47e6973e6388608ce60 iris (heads/master) 
+cf237ef8f3d9dc058dbde47e6973e6388608ce60 iris (heads/master) 
[email protected]:~/src/psi/ $ cd iris 
[email protected]:~/src/psi/iris/ $ cat .git/HEAD 
cf237ef8f3d9dc058dbde47e6973e6388608ce60 

cevap

5

, karşılaşabileceğiniz hemen hemen her sorun çözülebilir: Bu kalıcı olarak silmek olacaktır altmodülün yerel değişiklikler yaptıysanız Açıkçası

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

, bu yüzden eğer Yerel değişikliklerin ilk önce onları ittiğinden emin olun.

+1

İlginç bir şekilde, bunu denedim ve gerçekten yardım etmedim, yine de sıfırdan güncelledikten sonra 'iris' unmerged olduğunu söyledi. Ve en önemlisi, sorun 'git add iris' sonra ortadan kayboldu. – mblsha

+1

bu işe yaradı, ancak bunu işlemenin doğru yolu niçin? –

3

Benzer bir question burada stackoverflow gönderdim ve kendim yanıtlama sona erdi, ama ben git reset HEAD iris kullanarak benim sorun submodule çatışmalar için çalıştı bulundu.