2008-11-10 6 views
5

कुछ समय बाद मैं अपने गिट रेपो को अपडेट करना चाहता था, और फिर कुछ गलत हो गया। इस स्थिति से सही तरीका क्या है?एक सबमिशन युक्त गिट रेपो को कैसे अपडेट करें?

[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 

उत्तर

5

यह submodules git करने के लिए आता है, लगभग किसी भी समस्या आपके सामने आने वाली द्वारा हल किया जा कर सकते हैं:

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

जाहिर है अगर आप अपने submodule करने के लिए स्थानीय परिवर्तन किए हैं यह उन्हें स्थायी रूप से हटाना होगा, इसलिए यदि आप स्थानीय परिवर्तन सुनिश्चित करें कि आपने उन्हें पहले धक्का दिया है।

+1

दिलचस्प बात यह है कि मैंने कोशिश की है और वास्तव में मदद नहीं की है, यह अभी भी कहा गया है कि मैंने इसे स्क्रैच से अपडेट करने के बाद 'आईरिस' अनमोल किया है। और सबसे आश्चर्यजनक बात यह है कि 'गिट एड आईरिस' के बाद समस्या गायब हो गई। – mblsha

+1

यह काम किया, लेकिन यह इसे संभालने का सही तरीका क्यों है? –

3

मैंने स्टैक ओवरफ्लो पर एक समान question पोस्ट किया और इसे स्वयं जवाब देने का अंत किया, लेकिन मैंने पाया कि git reset HEAD iris का उपयोग करके मेरे मुद्दे के लिए सबमिशन विवादों के साथ काम किया गया।