আমি সবসময় চিন্তা করে থাকেন git reset
এবং git checkout
এই অর্থে যে উভয় একটি নির্দিষ্ট কমিট প্রকল্প ফিরিয়ে আনতে একই হিসাবে। যাইহোক, আমি অনুভব করি যে তারা একেবারে এক হতে পারে না, এটি অনর্থক হবে। দুজনের মধ্যে আসল পার্থক্য কী? আমি কিছুটা বিভ্রান্ত, কারণ এসএনএনকে কেবল svn co
প্রতিশ্রুতি ফিরিয়ে দিতে হবে।
যোগ করা হয়েছে
ভনসি এবং চার্লস পার্থক্যগুলি git reset
এবং git checkout
সত্যই ভালভাবে ব্যাখ্যা করেছিলেন । আমার বর্তমান বোঝাপড়াটি হ'ল git reset
সমস্ত পরিবর্তনগুলি একটি নির্দিষ্ট প্রতিশ্রুতিতে ফিরিয়ে দেয়, যেখানে git checkout
কম-বেশি একটি শাখার জন্য প্রস্তুত থাকে। এই বোঝার জন্য আমি নিম্নলিখিত দুটি চিত্রটি বেশ কার্যকর বলে মনে করেছি:
যুক্ত 3
থেকে http://think-like-a-git.net/sections/rebase-from-the-ground-up/using-git-cherry-pick-to-simulate-git-rebase.html , চেকআউট এবং পুনরায় সেট করতে পারেন অনুকরণ রিবেস।
git checkout bar
git reset --hard newbar
git branch -d newbar
-- files
ভেরিয়েন্টগুলি সম্পর্কে এটি ঠিক আছে ; আমি নিশ্চিত নই।) এই চিত্রটি এটিকে মূল পার্থক্যের মতো দেখায় যা তারা সূচক বা ডাব্লুডিকে প্রভাবিত করে। যে সম্পর্কে আমার উত্তর দেখুন। দ্বিতীয় এবং তৃতীয় চিত্রগুলি আসল পার্থক্যটি দেখার জন্য খুব সহায়ক। 4 তম এবং 5 ম চিত্রগুলি এই আদেশগুলি কী করে তা আপনি বুঝতে পেরেছেন কিনা তা যাচাই করতে দরকারী, তবে আপনাকে সেখানে পৌঁছাতে সত্যিই সহায়তা করবে না।
think-like-a-git.net
ডেটা ক্ষতি রোধ করতে অতিরিক্ত পদক্ষেপ (লিঙ্কযুক্ত নিবন্ধে সরবরাহিত ) প্রয়োজন।