यदि कोई शाखा की जाँच करेगा:
git checkout 760ac7e
उदाहरण के लिए b9ac70b, b9ac70bकोई अपने SHA1 को जाने बिना अंतिम ज्ञात सिर पर वापस कैसे जा सकता है ?
यदि कोई शाखा की जाँच करेगा:
git checkout 760ac7e
उदाहरण के लिए b9ac70b, b9ac70bकोई अपने SHA1 को जाने बिना अंतिम ज्ञात सिर पर वापस कैसे जा सकता है ?
जवाबों:
यदि आपको याद है कि किस शाखा को पहले चेक किया गया था (जैसे master) तो आप बस कर सकते थे
git checkout master
अलग राज्य से बाहर निकलने के लिए ।
आम तौर पर बोल: git checkout <branchname>आप से बाहर हो जाएगा।
यदि आपको अंतिम शाखा का नाम याद नहीं है, तो प्रयास करें
git checkout -
यह आपकी पिछली जाँच की गई शाखा की जाँच करने का भी प्रयास करता है।
git checkout -b new_branch_nameतो आप अलग-थलग पड़े अवस्था में किए गए कमिट खो देते हैं?
git gcउन्हें चलाया जाता है, तो उन्हें हमेशा के लिए हटा दिया जाता है। आप उन्हें git reflogतब तक देख सकते हैं जब तक वे अभी भी वहाँ हैं।
मेरे पास यह बढ़त मामला था, जहां मैंने उस कोड के पिछले संस्करण की जांच की जिसमें मेरी फ़ाइल निर्देशिका संरचना अलग थी:
git checkout 1.87.1
warning: unable to unlink web/sites/default/default.settings.php: Permission denied
... other warnings ...
Note: checking out '1.87.1'.
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>
HEAD is now at 50a7153d7... Merge branch 'hotfix/1.87.1'
इस तरह के एक मामले में आपको उपयोग करने की आवश्यकता हो सकती है - प्रवर्तन (जब आप जानते हैं कि मूल शाखा में वापस जाना है और परिवर्तनों को त्यागना एक सुरक्षित बात है)।
git checkout master काम नहीं किया:
$ git checkout master
error: The following untracked working tree files would be overwritten by checkout:
web/sites/default/default.settings.php
... other files ...
git checkout master --force(या git checkout master -f) काम किया:
git checkout master -f
Previous HEAD position was 50a7153d7... Merge branch 'hotfix/1.87.1'
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
आपने detached HEADराज्य में कुछ नए आवागमन किए होंगे । मेरा मानना है कि यदि आप अन्य उत्तरों की सलाह देते हैं:
git checkout master
# or
git checkout -
तो आप अपने कमिट्स खो सकते हैं !! इसके बजाय, आप ऐसा करना चाह सकते हैं:
# you are currently in detached HEAD state
git checkout -b commits-from-detached-head
और फिर commits-from-detached-headआप जो भी शाखा चाहते हैं, उसमें विलय करें , ताकि आप कमिट न करें।
git checkout -- हत्यारा सुविधा!