Git 2.7 (Q4 ই 2015) শাখা সরাসরি ব্যবহার বাছাই পরিচয় করিয়ে দিতে হবে git branch
:
দেখুন কমিট aa3bc55 , aedcb7d কমিট , কমিট 1511b22 , কমিট f65f139 , ... (23 সেপ্টেম্বর 2015), aedcb7d কমিট , কমিট 1511b22 , ca41799 কমিট (24 সেপ্টেম্বর 2015) এবং অঙ্গীকার f65f139 , ... (23 সেপ্টেম্বর 2015) কার্তিক নায়ক ( KarthikNayak
) দ্বারা ।
(দ্বারা একীভূত junio সি Hamano - gitster
- মধ্যে কমিট 7f11b48 , 15 অক্টোবর 2015)
বিশেষত, aedcb7d কমিট করুন :
branch.c
: ' ref-filter
' এপিআই ব্যবহার করুন
রেফ বাছাইয়ের মাধ্যমে পুনরাবৃত্তির জন্য ' branch.c
' ব্যবহার ' ref-filter
' এপিআই তৈরি করুন । এটি branch.c
' ref-filter
' লাইব্রেরিতে কলগুলির পরিবর্তে ' ' 'র ব্যবহৃত কোডের বেশিরভাগ সরিয়ে দেয় ।
এটি বিকল্প যোগ করে--sort=<key>
:
প্রদত্ত কীটির ভিত্তিতে বাছাই করুন। মানের ক্রমবর্ধমান ক্রম অনুসারে বাছাই করার
উপসর্গ -
।
আপনি --sort=<key>
একাধিকবার বিকল্পটি ব্যবহার করতে পারেন , সেক্ষেত্রে শেষ কীটি প্রাথমিক কী হয়ে যায়।
সমর্থিত কীগুলি যেমন রয়েছে তেমনgit for-each-ref
।
সম্পূর্ণ পুনর্নবীকরণের উপর ভিত্তি করে অর্ডার ডিফল্ট বাছাই করুন ( refs/...
উপসর্গ সহ )। এই তালিকাটি প্রথমে হেডকে (যদি উপস্থিত থাকে) প্রথমে, তারপরে স্থানীয় শাখা এবং শেষ পর্যন্ত দূরবর্তী ট্র্যাকিং শাখাগুলি তালিকাবদ্ধ করে।
এখানে:
git branch --sort=-committerdate
বা (গিট 2.19 এর সাথে নীচে দেখুন)
# if you are sure to /always/ want to see branches ordered by commits:
git config --global branch.sort -committerdate
git branch
কার্তিক নায়ক ( ) দ্বারা 9e46833 (30 অক্টোবর 2015) প্রতিশ্রুতিবদ্ধও দেখুন ।
সহায়তায়: জুনিও সি হামানো ( ) । (দ্বারা একীভূত junio সি Hamano - - মধ্যে 415095f কমিট , 03 নভেম্বর 2015)KarthikNayak
gitster
gitster
সংখ্যাসূচক মান অনুসারে বাছাই করার সময় (উদাঃ --sort=objectsize
) যখন উভয় রেফ একই মান রাখে তখন কোনও ফলব্যাক তুলনা হয় না। জোহানেস সিক্সট ( man gmane / 280117 ) দ্বারা নির্দেশিত হিসাবে এটি অপ্রত্যাশিত ফলাফলের (অর্থাত্ সমান মান সহ রেফের তালিকাটি পূর্ব নির্ধারিত হতে পারে না) কারণ হতে পারে ।
তাই, বর্ণানুক্রমিক refname যখনই অন্যান্য নির্ণায়ক সমান উপর ভিত্তি করে তুলনা ফলব্যাক ।
$ git branch --sort=objectsize
* (HEAD detached from fromtag)
branch-two
branch-one
master
গিট 2.19 এর সাথে, সাজানোর ক্রমটি ডিফল্টরূপে সেট করা যায়।
git branch
কনফিগ সমর্থন branch.sort
, মত git tag
, যা ইতিমধ্যে একটি কনফিগ ছিল tag.sort
।
দেখুন 560ae1c কমিট দ্বারা (16 আগস্ট 2018) স্যামুয়েল Maftoul ( ``) ।
(দ্বারা একীভূত junio সি Hamano - gitster
- মধ্যে d89db6f কমিট , 27 আগস্ট 2018)
branch.sort:
এই পরিবর্তনশীল দ্বারা প্রদর্শিত যখন শাখাগুলি বাছাই ক্রম নিয়ন্ত্রণ করে git-branch
।
" --sort=<value>
" বিকল্প সরবরাহ না করে এই ভেরিয়েবলের মান ডিফল্ট হিসাবে ব্যবহৃত হবে।
দূরবর্তী শাখা তালিকাবদ্ধ করতে, ব্যবহার করুন git branch -r --sort=objectsize
। -r
সেটির উপরে ফ্ল্যাগ লাগাতে স্থানীয় শাখা এর পরিবর্তে দূরবর্তী শাখা তালিকা ঘটায়।
গিট 2.27 (কিউ 22020) দিয়ে, " git branch
" এবং অন্যান্য " for-each-ref
" রূপগুলি --sort=<key>
বর্ধমান ক্রমের ক্ষেত্রে একাধিক বিকল্প গ্রহণ করেছে, তবে এটি --ignore-case
পরিচালনা করার প্রায় কয়েকটি " " বিরতি ছিল এবং পুনরায় নামকরণের সাথে টাই-ব্রেকিং ছিল যা ঠিক করা হয়েছে।
7c5045f প্রতিশ্রুতিবদ্ধ দেখুন , জেফ কিং ( ) এর দ্বারা প্রতিশ্রুতিবদ্ধ 76f9e56 (03 মে 2020 ) । (দ্বারা একীভূত junio সি Hamano - - মধ্যে কমিট 6de1630 , 08 মে 2020)peff
gitster
ref-filter
: সমস্ত ব্যবহারকারীর বাছাইয়ের পরেই ফ্যালব্যাক পুনঃনামকরণ সাজান প্রয়োগ করুন
সাইন-অফ-বাই: জেফ কিং
কমিট 9e468334b4 ( " ref-filter
: বর্ণানুক্রমিক তুলনা উপর ফলব্যাক", 2015-10-30, গীত v2.7.0-rc0 - একত্রীকরণ তালিকাভুক্ত ব্যাচ # 10 ) শেখানো সুত্র-Filter এর সাজানোর তুলনা refnames ফলব্যাক করতে।
তবে এটি ভুল স্তরে এটি করেছে, --sort
সমস্ত ধরণের চাবি শেষ হয়ে যাওয়ার পরিবর্তে ব্যবহারকারীর থেকে একক চাবি তুলনার ফলাফলকে " " ওভাররাইড করে ।
এটি একক --sort
বিকল্পের জন্য সঠিকভাবে কাজ করেছে , তবে একাধিকটির জন্য নয়।
আমরা পুনর্নামকরণের সাথে প্রথম কীটিতে কোনও সম্পর্ক ভাঙবো এবং দ্বিতীয় কীটি কখনই মূল্যায়ন করব না।
বিষয়গুলি আরও আকর্ষণীয় করে তুলতে, আমরা কখনও কখনও কেবল এই ফ্যালব্যাকটি প্রয়োগ করি!
" taggeremail
" জাতীয় ক্ষেত্রের জন্য যার জন্য স্ট্রিং তুলনা প্রয়োজন, আমরা সত্যিকার অর্থে strcmp()
এটি 0 ছিলাম তবে তার ফলাফলটি ফিরিয়ে আনতাম
But তবে " value
" জাতীয় সংখ্যার ক্ষেত্রগুলির জন্য taggerdate
, আমরা ফলব্যাক প্রয়োগ করেছি। এবং এজন্যই আমাদের একাধিক বাছাই পরীক্ষা এটি মিস করেছে: এটি taggeremail
মূল তুলনা হিসাবে ব্যবহার করে।
সুতরাং আরও অনেক কঠোর পরীক্ষা যোগ করে শুরু করা যাক। আমাদের কাছে দুটি ট্যাগ ইমেইল, তারিখ এবং পুনর্নবীকরণের প্রতিটি সংমিশ্রণ প্রকাশ করে কমিটের একটি সেট থাকবে। তারপরে আমরা নিশ্চিত করতে পারি যে আমাদের সাজানটি সঠিক অগ্রগতির সাথে প্রয়োগ করা হয়েছে এবং আমরা স্ট্রিং এবং মান উভয়কেই তুলছি।
এটি ত্রুটিটি দেখায় এবং ফিক্সটি সহজ: compare_refs()
সমস্ত ref_sorting
কীগুলি শেষ হয়ে যাওয়ার পরে, ফলব্যাকটি বাইরের ফাংশনে নিয়ে যায় ।
নোট করুন যে বাইরের ফাংশনে আমাদের একটি "ignore_case"
পতাকা নেই, কারণ এটি প্রতিটি পৃথক ref_sorting
উপাদানের অংশ । আমরা যেমন ব্যবহারকারীর কীগুলি মেলানোর জন্য ব্যবহার করি নি সেহেতু এই জাতীয় ফলব্যাকটি কী করা উচিত তা বিতর্কযোগ্য।
তবে এখন অবধি আমরা এই পতাকাটিকে সম্মান করার চেষ্টা করে যাচ্ছি, তাই সর্বনিম্ন আক্রমণাত্মক জিনিসটি এটি চালিয়ে যাওয়ার চেষ্টা করা উচিত।
যেহেতু বর্তমান কোডের সমস্ত কলার হয় হয় সমস্ত কী বা কোনওটির জন্য পতাকা সেট করে, তাই আমরা প্রথম কী থেকে পতাকাটি টানতে পারি। একটি অনুমানের জগতে যেখানে ব্যবহারকারী সত্যিই কীগুলির কেস-সংবেদনশীলতা আলাদাভাবে ফ্লিপ করতে পারে, আমরা সেই ক্ষেত্রে একটি কম্বল থেকে পৃথক করার জন্য কোডটি প্রসারিত করতে চাই " --ignore-case
"।