2011-05-18 6 views
34

जब मैं अपने परिवर्तनों का पालन करता था तो मैं वर्तमान में किसी भी शाखा में नहीं था। मैंने वास्तव में संदेश नहीं देखा और दूसरी शाखा की जांच की।किसी भी शाखा में नहीं होने पर किसी भी शाखा + गिट प्रतिबद्ध + चेकआउट पर वर्तमान में नहीं। क्या मैंने अपना परिवर्तन खोला?

मैं अपने परिवर्तन कैसे प्राप्त कर सकता हूं? मैं विलय या चेकआउट नहीं कर सकता, क्योंकि इसमें से कोई शाखा नहीं है।

+0

तुम अब भी जब आप प्रतिबद्ध से सांत्वना उत्पादन के लिए है? क्या इसमें प्रतिबद्धता के SHA1 शामिल थे? यदि हां, तो आपके पास प्रतिबद्ध ऑब्जेक्ट है, जो आपको – rlc

+3

की आवश्यकता है ... मुझे नहीं पता था कि आप कभी भी शाखा में नहीं हो सकते ... –

+3

@Ignacio शाखा पर नहीं होने का सबसे आम मामला तब होता है जब आप एक प्रतिबद्धता की जांच करते हैं कि यह शाखा – CharlesB

उत्तर

67

आप git reflog उपयोग कर सकते हैं के लिए प्रतिबद्ध है कि आप समय में "कोई शाखा" (एक अलग सिर) और विलय कि शाखा है कि आप (मास्टर शायद)

में हैं करने के लिए किया था के हैश प्रतिबद्ध पाने के लिए कुछ git merge [email protected]{1}

आप git rebase -i और रीफ्लॉग से इच्छित प्रतिबद्धता को "उठाएं" भी कर सकते हैं।

+1

गिट चेरी-पिक {हैश} भी काम करता है –

2

आपकी प्रतिबद्धता समाप्त नहीं हुई है, आप छिपे हुए काम दिखाने के लिए गिट पूछकर ठीक हो सकते हैं, और उन्हें एक अस्थायी शाखा में वापस रख सकते हैं।

निर्देशों के लिए this answer देखें।

+2

इस मामले में इससे भी आसान है, क्योंकि रीफ्लॉग में प्रतिबद्धता होगी - [मैनोजल्ड्स का जवाब] (http://stackoverflow.com/questions/6048425/not-currently-on-any-branch-git-commit-checkout- जब-इन-इन-शाखा-डी-आई/604860 9 # 604860 9) इसका वर्णन करता है। –

+0

उसे सम्मान के साथ – CharlesB

-5

आप कभी भी "किसी भी शाखा पर नहीं" हैं। हो सकता है कि आप master नामक शाखा पर हों, लेकिन जब आपने प्रतिबद्ध किया तो आप शाखा पर थे। तो प्रतिबद्धता कुछ है।

इतिहास देखने के लिए git log का उपयोग करें। आप समय पर वापस जाने के लिए git reset का उपयोग कर सकते हैं (वैकल्पिक रूप से, आपकी कार्यशील निर्देशिका में परिवर्तन छोड़कर)।

+12

यह गलत है - आप * शाखा में नहीं हो सकते हैं। इस राज्य को "पृथक सिर" के रूप में जाना जाता है क्योंकि 'हेड' शाखा नाम के बजाए किसी विशेष प्रतिबद्धता के हैश को इंगित करता है। अलग-अलग सिर के साथ आप जो भी काम करते हैं, वह शाखा की नोक को आगे नहीं बढ़ाएगा, लेकिन फिर भी कुछ समय के लिए रिफ्लॉग के माध्यम से पहुंच योग्य होगा। –

+0

सच नहीं है। अभी "$ गिट स्टेटस" मुझे "# वर्तमान में किसी भी शाखा पर नहीं देता है।" ("शाखा मास्टर पर" सामान्य की बजाय), "# परिवर्तन किए जाने के लिए परिवर्तन:" आदि – weronika

1

"गिट रीफ्लॉग" का उपयोग करें, यह आपके गिट कमांड इतिहास के परिणामों की प्रतिबद्धता को दिखाता है। तब आप "गिट सह हैश" कर सकते हैं और जब आपको सही मिल गया है, तो इसके लिए शाखा सेट/सेट करें।

11

मुझे कुछ काम करने के बाद एक ऐसी ही स्थिति में था:

लिलिथ: प्रबंधक KelSolaar $ Git स्थिति

किसी भी शाखा पर वर्तमान में नहीं है।

लिलिथ: प्रबंधक KelSolaar $ Git लॉग

प्रतिबद्ध 49984303037e970d637161c3154b7fd7d6ae3a43 लेखक: KelSolaar दिनांक: बुध अक्टू 5 22

मैं एक Git लोग इन मेरा आखिरी प्रतिबद्ध हैश को देखने के लिए जारी किए गए : 41: 31 2011 +0100

Introduce new "QObject" components category and rename existing ones to "Def 

मैं तो मेरे गुरु शाखा की जाँच:

लिलिथ: प्रबंधक KelSolaar $ Git चेकआउट मास्टर

पिछला प्रमुख स्थिति 4,998,430 था ... नया "QObject" घटकों श्रेणी का परिचय दें और लोगों exising नाम बदलने के लिए " डिफ़ॉल्ट "और" QWidget "।

'गुरु'

शाखा स्विचड और मैं अंत में हैश प्रतिबद्ध का उपयोग कर विलय कर दिया:

लिलिथ: प्रबंधक KelSolaar $ Git विलय 49984303037e970d637161

अपडेट कर रहा है 141bc69..4998430

फास्ट-फॉरवर्ड

src/manager/घटक.py | 2 + -

...

8

git checkout - आप पिछले शाखा वापस स्विच करेंगे:

Thu Feb 21 12:50 AM /src/test ((08f84f4...)) $ git checkout master 

Warning: you are leaving 1 commit behind, not connected to 
any of your branches: 

    08f84f4 Fix everything 

Switched to branch 'master' 

Thu Feb 21 12:50 AM /src/test (master) $ git checkout - 

HEAD is now at 08f84f4... Fix everything 

Thu Feb 21 12:50 AM /src/test ((08f84f4...)) $ 
+1

मुझे लगता है कि यह सबसे अच्छा जवाब है। उल्लेख करने के लायक भी, आप 'गिट शाखा' –

+0

का उपयोग करके अपनी वर्तमान शाखा की जांच कर सकते हैं यह सबसे सरल समाधान के साथ प्रश्न का उत्तर देता है। 'गिट चेकआउट -' (इसे फिर से हाइलाइट करने के लिए) – N8TRO

संबंधित मुद्दे

 संबंधित मुद्दे