ठीक है, मैं एक के लिए सोचता हूं कि "एक अलग सिर बनाने" के बारे में संदेश थोड़ा भ्रामक है क्योंकि आप वास्तव में इसे नहीं बना सकते हैं। क्या होता है कि गिट चेकआउट शाखाएं या संशोधनों (चलो चीजों को और अधिक जटिल बनाने के लिए टैग के बारे में भूल जाते हैं)। यदि आप स्थानीय शाखा चेकआउट करना चुनते हैं, तो गिट जानता है कि जब आप प्रतिबद्ध करते हैं तो उसे नया संशोधन करना होगा और फिर स्थानीय शाखा को इस संशोधन के लिए इंगित करना होगा जो अभी बनाया गया था। लेकिन यदि आप अपने आईडी द्वारा "संशोधन" की जांच करना चुनते हैं, जैसा आपने पोस्ट किया है उदाहरण में प्रदान किया गया है (या उस मामले के लिए एक दूरस्थ शाखा, यह आपके स्थानीय भंडार के दृष्टिकोण से एक ही स्थिति है), तो वहां कोई नहीं है स्थानीय शाखा जो संशोधन को इंगित कर रही है (यही कारण है कि इसे अलग सिर कहा जाता है)। गिट के लिए यह कोई फर्क नहीं पड़ता। यह सिर्फ एक संशोधन है जिसे आपने स्थानीय शाखा, रिमोट शाखा या संशोधन के लिए चेकआउट करने के लिए कहा था। लेकिन आपके लिए यह काफी अंतर बनाता है क्योंकि यदि आप अलग-अलग HEAD पर काम कर रहे हैं, तो यदि आप प्रतिबद्ध करना चुनते हैं, तो गिट में स्थानीय शाखा नहीं होगी। यह केवल संशोधन करेगा, इसे सिर बिंदु बनायेगा और यही वह है। यदि आप इस पल में, उदाहरण के लिए, किसी दूसरी शाखा या संशोधन के लिए चेक आउट किया गया था और आपके पास एक अलग शाखा राज्य में अभी संशोधन किए गए संशोधन की ओर इशारा करते हुए कोई स्थानीय शाखा नहीं थी, तो आपने संशोधन खो दिया (अच्छा ... आप हमेशा उपयोग कर सकते हैं गिट रीफ्लॉग इसे वापस पाने के लिए, लेकिन आपको बिंदु मिल गया है, है ना?)। यही कारण है कि Git में चेतावनी देता है जब आप एक अलग HEAD पर काम शुरू है:
$ git checkout HEAD~2
Note: checking out 'HEAD~2'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
सूचना है कि यह कैसे आपको बताता है कि आप Git चेकआउट -b नई शाखा-नाम चलाकर किसी भी बिंदु पर एक स्थानीय शाखा बना सकते हैं
संभावित गलती [गिट अलग सिर को ठीक करें?] (Http://stackoverflow.com/questions/10228760/fix-a-git-detached-head) – Stony
@ सोंटी, मुझे मदद की ज़रूरत नहीं है अलग सिर मैं इसे समझने की कोशिश कर रहा हूं कि बिटबकेट ने मास्टर के साथ शाखा को सिंक करने के लिए मुझे एक अलग सिर बनाने का सुझाव दिया है। यह स्पष्ट रूप से मुझे समझ में नहीं आता है। – stz184
यह प्रतिबद्धता आपके शाखा के सिर से कैसे संबंधित है? – ams