git - বর্তমান শাখার এবং মাস্টারের মধ্যে গিট diff কিন্তু unmerged মাস্টার commits সহ না




version-control git-diff (2)

এখানে আমার জন্য কি কাজ করেছে:

git diff origin/master...

এটি আমার বর্তমান নির্বাচিত স্থানীয় শাখা এবং রিমোট মাস্টার শাখার মধ্যে কেবলমাত্র পরিবর্তনগুলি দেখায় এবং আমার স্থানীয় শাখায় থাকা সমস্ত পরিবর্তনগুলিকে উপেক্ষা করে যা একত্রিত হয়ে আসে।

আমি এমন একটি শাখার সমস্ত পরিবর্তনগুলির একটি পার্থক্য চাই যা এখনও মাস্টারে বিযুক্ত হয় না।

আমি চেষ্টা করেছিলাম:

git diff master
git diff branch..master
git diff branch...master

যাইহোক, এই ক্ষেত্রে প্রতিটি ক্ষেত্রে diff মাস্টারের বিষয়বস্তু রয়েছে যা এখনও আমার শাখাতে মার্জ করা হয়নি।

আমার শাখা এবং মাস্টারের মধ্যে পার্থক্য করার কোন উপায় আছে যা মাস্টারের পরিবর্তনগুলি বাদ দেয় না যা আমার শাখাতে এখনো বিযুক্ত হয়নি?


git diff `git merge-base master branch`..branch

মার্জ বেস যেখানে branch master থেকে বিভাজিত হয়।

গিট diff এই জন্য একটি বিশেষ সিনট্যাক্স সমর্থন করে:

git diff master...branch

আপনি পক্ষগুলি swap করতে হবে না, কারণ তারপর আপনি অন্য শাখা পাবেন। আপনি master থেকে বিচ্ছিন্ন, branch পরিবর্তন কি জানতে চান অন্য উপায়।

Loosely সম্পর্কিত:

  • গিট সঙ্গে একটি শাখা পয়েন্ট খোঁজা?
  • আমি কীভাবে দেখতে পারি যে কোন শাখা থেকে আরেকটি শাখা ফাঁকা হয়?

মনে রাখবেন যে .. এবং ... সিনট্যাক্সের অন্যান্য গিট সরঞ্জামগুলির মতো একই শব্দার্থ আছে না। এটা man gitrevisions নির্দিষ্ট অর্থ থেকে ভিন্ন।

উদ্ধৃত man git-diff :

  • git diff [--options] <commit> <commit> [--] [<path>…]

    এই দুটি নির্বিচারে <commit> মধ্যে পরিবর্তন দেখতে হয়।

  • git diff [--options] <commit>..<commit> [--] [<path>…]

    এই পূর্ববর্তী ফর্ম সমার্থক। যদি একদম <commit> বাদ দেওয়া হয় তবে এটি পরিবর্তে HEAD ব্যবহার করার মতো একই প্রভাব ফেলবে।

  • git diff [--options] <commit>...<commit> [--] [<path>…]

    এই ফর্মটি <commit> উভয়ের একটি পূর্বপুরুষের শুরু থেকে দ্বিতীয় এবং <commit> পর্যন্ত <commit> শাখায় থাকা শাখায় পরিবর্তনগুলি দেখতে হবে। " git diff A...B " সমতুল্য " git diff $(git-merge-base AB) B " git diff $(git-merge-base AB) B । আপনি <commit> এর যেকোনো একটিও বাদ দিতে পারেন, যার পরিবর্তে HEAD ব্যবহার করার মতো একই প্রভাব রয়েছে।

শুধু যদি আপনি কিছু অসাধারণ কাজ করছেন, তবে এটি অবশ্যই লক্ষ্য করা উচিত যে উপরের দুটি রূপে <commit> সমস্ত শেষ ফর্মগুলি যা ".." উল্লেখ ব্যবহার করে, তা <tree> হতে পারে।

<commit> Commit <commit> বানান করার আরো সম্পূর্ণ তালিকাগুলির জন্য, gitrevisions[7] "স্বীকৃত রেভিশন" বিভাগটি দেখুন। যাইহোক, "diff" দুটি শেষ অবস্থানের তুলনায়, রেঞ্জের নয় এবং পরিসরের নোটগুলির (" <commit>..<commit> " এবং " <commit>...<commit> ") তুলনা করা হয় তার পরিপ্রেক্ষিতে পরিসীমা হিসাবে বোঝানো হয় না Gitrevisions মধ্যে "স্পেসিফিকিং রাঙ্গ" বিভাগ gitrevisions[7]





git-diff