উত্সের মাস্টার শাখার ফাইলটির সংস্করণে কীভাবে ফিরে যাবে to


425

আমি আমার স্থানীয় কম্পিউটারের একটি রিমোট সার্ভার থেকে রেপোর ক্লোনযুক্ত মাস্টার-শাখার মাস্টার শাখায় আছি।

আমি একটি ফাইল আপডেট করেছি এবং আমি দূরবর্তী মাস্টার শাখা থেকে মূল সংস্করণে ফিরে যেতে চাই।

কিভাবে আমি এটি করতে পারব?

উত্তর:


874

ধরে নিচ্ছি আপনি ফাইলটি প্রতিশ্রুতিবদ্ধ করেননি বা এটি সূচকে যুক্ত করেছেন, তারপরে:

git checkout -- filename

ধরে নিচ্ছি আপনি এটি সূচকে যুক্ত করেছেন, তবে এটি প্রতিশ্রুতিবদ্ধ করেন নি, তবে:

git reset HEAD filename
git checkout -- filename

ধরে নিচ্ছি আপনি এটি প্রতিশ্রুতিবদ্ধ করেছেন তবে:

git checkout origin/master filename

ধরে নিই যে আপনি আপনার শাখা থেকে সমস্ত প্রতিশ্রুতি উড়িয়ে দিতে চান (খুব কার্যকর):

git reset --hard origin/master

43
আপনার তৃতীয় বিকল্পটি আপনার প্রথম দুটি বিকল্পের থেকে খুব আলাদা যে এটি কেবল একটি ফাইল নয় সমস্ত ফাইলকে স্পর্শ করে। আপনি আরও স্পষ্টভাবে এটি নির্দেশ করতে চাইতে পারেন। এছাড়াও কেন সুপারিশ করা হয় না git checkout HEAD filenameএবং git checkout origin/master filenameবিকল্পগুলির জন্য এক এবং দুটি, এটি আরও সামঞ্জস্যপূর্ণ হবে?
সিবি বেইলি

5
@ চার্লসবাইলি: আমি গহুর জবাবের git checkout origin/master filenameবিকল্পটি যুক্ত করেছি ।
ফ্রাঙ্ক

2
@ সিলফেক্স এটি আপনার বর্তমান শাখায় করা সমস্ত
কমিটকে উড়িয়ে দিয়েছে

1
আমি দুর্ঘটনাক্রমে শাখাটি বন্ধ করে দিয়ে ব্রাঞ্চএকে পুনর্বাসিত করেছিলাম এবং স্থানীয় শাখায় পুনরায় সেট করা দরকার। git reset --hard masterআমি একা আমার সমাধান ছিল যেহেতু আমি উত্সের দিকে যেতে চাই না। ধন্যবাদ।
টাকো

3
@ গাহোয়া এটি সম্ভবত গিট চেকআউট - ফাইলের নাম হওয়া উচিত, যদি ফাইলটিকে "মাস্টার" বলা হয় তবে আপনি এমন আচরণ পাবেন যা উদ্দিষ্ট নয়।
ব্যবহারকারী2602152

50

আমি একই সমস্যার মুখোমুখি হয়েছি এবং এই থ্রেডে এসেছি কিন্তু আমার সমস্যাটি ছিল upstream। গিট কমান্ডের নীচে আমার পক্ষে কাজ করেছে।

বাক্য গঠন

গিট চেকআউট {রিমোট-নাম} / {শাখা} - / ফাইল / পথ.js}

উদাহরণ

গিট চেকআউট আপস্ট্রিম / বিকাশ - পাবলিক / জেএস / সূচক.জেএস


0

আপনি যদি এখনও মাস্টার শাখায় এটি প্রতিশ্রুতিবদ্ধ না করেন তবে এটি সহজ:

  • মাস্টার শাখা বন্ধ (মত git checkout -b oops/fluke/dang)
  • সেখানে আপনার পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ (যেমন git add -u; git commit;)
  • মাস্টার শাখা ফিরে (যেমন git checkout master)

আপনার পরিবর্তনগুলি শাখা ওপ / ফ্লুক / ডাঙে সংরক্ষণ করা হবে; মাস্টার যেমন ছিল তেমন হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.