আপডেট: আচ্ছা, আমি পোস্ট করার পরে বেশ কয়েক বছর কেটে গেছে! আমার প্রবাহের সাথে হেডের তুলনা করার নির্দিষ্ট উদ্দেশ্যে, আমি এখন ব্যবহার করি @{u}
, যা একটি শর্টকাট যা প্রবাহের ট্র্যাকিং শাখার হেডকে বোঝায়। ( Https://git-scm.com/docs/gitrevisions#gitrevisions-mltbranchnamegtupstreamemegemmasterupstreamememuem দেখুন )।
আসল উত্তর: আমি এই সমস্যাটিও পেরেছি। আমি প্রায়শই একক ভাণ্ডারে একাধিক রিমোট ব্যবহার করি এবং আপনার বর্তমান শাখাটি কোনটির বিরুদ্ধে ট্র্যাক করছে তা ভুলে যাওয়া সহজ। এবং কখনও কখনও এটি জানার সুবিধাজনক যেমন আপনি যখন নিজের স্থানীয় কমিটগুলি এর মাধ্যমে দেখতে চান git log remotename/branchname..HEAD
।
এই সমস্ত জিনিস গিট কনফিগার ভেরিয়েবলগুলিতে সঞ্চিত আছে তবে আপনাকে গিট কনফিগার আউটপুট বিশ্লেষণ করতে হবে না। আপনি যদি কোনও ভেরিয়েবলের নাম অনুসারে গিট কনফিগারেশনটি চালু করেন তবে এটি কেবল সেই পরিবর্তনশীলটির মান মুদ্রণ করবে, কোনও পার্সিংয়ের প্রয়োজন নেই। এটি মনে রেখে, আপনার বর্তমান শাখার ট্র্যাকিং সেটআপ সম্পর্কে তথ্য পেতে এখানে কয়েকটি আদেশ রয়েছে:
LOCAL_BRANCH=`git name-rev --name-only HEAD`
TRACKING_BRANCH=`git config branch.$LOCAL_BRANCH.merge`
TRACKING_REMOTE=`git config branch.$LOCAL_BRANCH.remote`
REMOTE_URL=`git config remote.$TRACKING_REMOTE.url`
আমার ক্ষেত্রে, যেহেতু আমি কেবলমাত্র আমার বর্তমান দূরবর্তীটির নাম অনুসন্ধান করতে আগ্রহী তাই আমি এটি করি:
git config branch.`git name-rev --name-only HEAD`.remote
git remote show origin
। অন্যান্য প্রশ্নের মূল উত্তর হ'ল এখানে সরল উত্তরের চারপাশে মোড়ানো বাশ লিপি, যা কারওর পক্ষে কার্যকর হতে পারে। আশা করি এই প্রশ্নটি পুরোপুরি বন্ধ হবে না।