যদি কেউ একটি শাখা চেক আউট করে:
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 -- ঘাতক বৈশিষ্ট্য!