paint-brush
গিটে রিমোট থেকে কমিটগুলি কীভাবে মুছবেনদ্বারা@timmouskhelichvili
357,503 পড়া
357,503 পড়া

গিটে রিমোট থেকে কমিটগুলি কীভাবে মুছবেন

দ্বারা Tim Mouskhelichvili2m2022/05/31
Read on Terminal Reader
Read this story w/o Javascript

অতিদীর্ঘ; পড়তে

রিমোট থেকে কমিট মুছে ফেলতে, আপনি গিট রিসেট কমান্ডটি ব্যবহার করতে পারেন যদি আপনার প্রতিশ্রুতিগুলি উপরের থেকে পরপর হয় বা অন্যথায় একটি ইন্টারেক্টিভ রিবেস হয়। আপনি স্থানীয়ভাবে কমিটগুলি মুছে ফেলার পরে, ফোর্স বিকল্পের সাথে গিট পুশ কমান্ড ব্যবহার করে সেই পরিবর্তনগুলিকে রিমোটে পুশ করুন।
featured image - গিটে রিমোট থেকে কমিটগুলি কীভাবে মুছবেন
Tim Mouskhelichvili HackerNoon profile picture
0-item
1-item

যারা নিয়মিত Git এর সাথে কাজ করেন তাদের জন্য ইতিহাস ম্যানিপুলেট করা খুবই সাধারণ। প্রকৃতপক্ষে, বিকাশকারীদের প্রায়শই গিট ইতিহাস থেকে প্রতিশ্রুতিগুলি সরাতে হয়। সৌভাগ্যবশত, গিট এই অপারেশন সম্ভব করার জন্য অনেক কমান্ড প্রদান করে।


চলুন এটা পেতে 😎.

ধাপ 0 - প্রস্তুতি

গিট হিস্ট্রি ম্যানিপুলেট করার আগে, নিশ্চিত করুন যে আপনার ওয়ার্কিং ডিরেক্টরীটি গিট স্ট্যাটাস কমান্ড ব্যবহার করে যেকোনো পরিবর্তন থেকে পরিষ্কার।

ধাপ 1 - স্থানীয়ভাবে কমিট মুছুন

একটি দূরবর্তী সার্ভার থেকে প্রতিশ্রুতি মুছে ফেলার জন্য, প্রথমে, আপনাকে সেগুলিকে আপনার স্থানীয় ইতিহাস থেকে সরাতে হবে।

1.1 উপরে থেকে একটানা কমিট করার জন্য

আপনি যে কমিটগুলি সরাতে চান তা আপনার কমিট ইতিহাসের শীর্ষে রাখা হলে, HEAD অবজেক্টের সাথে git reset --hard কমান্ডটি এবং আপনি যে কমিটগুলি সরাতে চান তার সংখ্যা ব্যবহার করুন।


 git reset --hard HEAD~1

এই কমান্ডটি সর্বশেষ কমিট মুছে ফেলবে।


 git reset --hard HEAD~3

এই কমান্ডটি সর্বশেষ তিনটি কমিট মুছে ফেলবে।


আপনি একটি কমিট হ্যাশ ব্যবহার করে একটি নির্দিষ্ট কমিট পর্যন্ত সরাতে পারেন, যেমন:

 git reset --hard <hash>

1.2 পরপর কমিট না করার জন্য

যদি, আপনি অ-পরপর কমিটগুলি সরাতে চান তবে আপনাকে একটি ইন্টারেক্টিভ রিবেস ব্যবহার করতে হবে।


  • [ ] git reflog কমান্ড ব্যবহার করে আপনি যে সমস্ত কমিটগুলি সরাতে চান সেগুলি সম্বলিত শেষ কমিট হ্যাশ খুঁজুন।
  • [ ] git rebase -i <hash> দিয়ে একটি ইন্টারেক্টিভ রিবেস শুরু করুন।
  • [ ] সম্পাদনা স্ক্রিনে, আপনি যে কমিট লাইনগুলি সরাতে চান তা খুঁজুন এবং সেগুলি সরান৷
  • [ ] সংরক্ষণ করুন এবং প্রস্থান করুন (আপনাকে বিরোধগুলি সমাধান করতে হতে পারে)
  • [ ] git rebase --continue বা রিবেস বাতিল করে আবার শুরু করুন।

ধাপ 2 - দূরবর্তী থেকে প্রতিশ্রুতি মুছুন

রিমোট থেকে কমিট মুছে ফেলতে, আপনাকে গিট পুশ কমান্ড ব্যবহার করে আপনার স্থানীয় পরিবর্তনগুলি রিমোটে পুশ করতে হবে।


 git push origin HEAD --force


যেহেতু আপনার স্থানীয় ইতিহাস দূরবর্তী ইতিহাস থেকে বিচ্ছিন্ন, তাই আপনাকে force বিকল্পটি ব্যবহার করতে হবে।

সর্বশেষ ভাবনা

আপনি দেখতে পাচ্ছেন, গিট রিমোট সার্ভার থেকে কমিট মুছে ফেলা সহজ করে তোলে।


যাইহোক, force বিকল্পের সাথে git push কমান্ড ব্যবহার করার সময় আপনাকে সতর্কতা অবলম্বন করতে হবে কারণ আপনি যদি সতর্ক না হন তবে আপনি অগ্রগতি হারাতে পারেন।


পড়ার জন্য আপনাকে ধন্যবাদ!