ঠিক আছে, আমি ভেবেছিলাম এটি একটি সাধারণ গিট দৃশ্য, আমি কী মিস করছি?
আমার একটি masterশাখা এবং একটি featureশাখা আছে। আমি কিছু কাজ করি master, কিছু চালু করি featureএবং পরে আরও কিছু করি master। আমি এই জাতীয় কিছু দিয়ে শেষ করেছি (অভিধান সংক্রান্ত ক্রমটি কমিটের ক্রম বোঝায়):
A--B--C------F--G (master)
\
D--E (feature)
আমার git push origin masterরিমোটটি masterআপডেট রাখতে এবং আমার কাজের জন্য একটি রিমোট ব্যাকআপ বজায় রাখতে git push origin feature(কখন চালু হবে feature) কোনও সমস্যা নেই feature। এখন অবধি আমরা ভাল আছি।
তবে এখন আমি মাস্টারের featureউপরের কমিটগুলির উপরে পুনরায় শোধ করতে চাই F--G, তাই আমি git checkout featureএবং git rebase master। এখনও ভাল. এখন আমাদের আছে:
A--B--C------F--G (master)
\
D'--E' (feature)
সমস্যা: যে মুহুর্তে আমি নতুন রিবেসড featureব্রাঞ্চটি ব্যাকআপ করতে চাইছি git push origin feature, ধাক্কাটি প্রত্যাখ্যান করা হবে যেহেতু রিবেসিংয়ের কারণে গাছটি পরিবর্তিত হয়েছে। এটি কেবল সাথে সমাধান করা যেতে পারেgit push --force origin feature ।
আমি --forceএটি প্রয়োজন তা নিশ্চিত না করে ব্যবহার করে ঘৃণা করি। তো, আমার কি দরকার? রিবাজিং অগত্যা কি বোঝায় যে পরেরটি পুরো pushহওয়া উচিত --force?
এই বৈশিষ্ট্যটি শাখাটি অন্য কোনও ডেভসের সাথে ভাগ করা হয়নি, সুতরাং বল চাপের সাথে আমার কোনও সমস্যা নেই , আমি কোনও ডেটা হারাতে যাচ্ছি না, প্রশ্নটি আরও ধারণাগত।