නවතම කැපවීම අනුව ඇණවුම් කරන ලද Git ශාඛා ලැයිස්තුවක් ලබා ගන්නේ කෙසේද?


1362

ඉහළින් ඇති “නැවුම්” ශාඛා සහිත Git ගබඩාවක ඇති සියලුම ශාඛා ලැයිස්තුවක් ලබා ගැනීමට මට අවශ්‍යය, එහිදී “නැවුම්ම” ශාඛාව මෑතකදී කැපවී ඇති ශාඛාවයි (සහ, එබැවින්, එකක් වීමට වැඩි ඉඩක් ඇත මට අවධානය යොමු කිරීමට අවශ්‍යයි).

(අ) නවතම කැපවීම අනුව ශාඛා ලැයිස්තුව වර්ග කිරීමට හෝ (ආ) යම් ආකාරයක යන්ත්‍ර කියවිය හැකි ආකෘතියකින් එක් එක් අයගේ අවසාන කැපවීමේ දිනය සමඟ ශාඛා ලැයිස්තුවක් ලබා ගැනීමට මට Git භාවිතා කළ හැකි ක්‍රමයක් තිබේද?

නරකම දෙය නම්, git branchසෑම ශාඛාවකම ලැයිස්තුවක් ලබා ගැනීමටත්, එහි ප්‍රතිදානය විග්‍රහ කිරීමටත්, git log -n 1 branchname --format=format:%ciඑක් එක් ශාඛාවේ කැපවීමේ දිනය ලබා ගැනීමටත් මට සෑම විටම ධාවනය කළ හැකිය . නමුත් මෙය වින්ඩෝස් පෙට්ටියක් මත ක්‍රියාත්මක වන අතර නව ක්‍රියාවලියක් වේගවත් කිරීම සාපේක්ෂව මිල අධික වන අතර එම නිසා ශාඛා විශාල ප්‍රමාණයක් තිබේ නම් එක් ශාඛාවකට වරක් Git ක්‍රියාත්මක කළ හැකි දියත් කිරීම මන්දගාමී විය හැකිය. තනි විධානයකින් මේ සියල්ල කිරීමට ක්‍රමයක් තිබේද?


2
stackoverflow.com/a/2514279/1804124 වඩා හොඳ පිළිතුරක් ඇත.
ස්පුන්ඩන්

12
P පුන්ඩුන්, ඔයාට මාව එතනදී නැතිවුණා. දැනටමත් Git සතුව ඇති විධානයක් භාවිතා කරනවාට වඩා පර්ල් සහ සෙඩ් හරහා නල මාර්ග ඇතුළු බහු විධානයන්හි එකතුවක් “වඩා හොඳ” වන්නේ කෙසේද?
ජෝ වයිට්

38
Jak ජකුබ් නාරබ්ස්කිගෙන් පිළිතුර සම්බන්ධයෙන් පුන්ඩුන් git for-each-ref: ඔබට දුරස්ථ ශාඛා refs/remotes/වෙනුවට ගමන් refs/heads/කළ හැකිය (හෝ ඔබට දෙකම පසු කළ හැකිය, සුදු අවකාශය වෙන් කර ඇත); refs/tags/ටැග් සඳහා, හෝ refs/වර්ග තුනටම.
jakub.g

5
ආරම්භක git 2.7 (Q4 2015), තවත් නැත for-each-ref! ඔබ කෙලින්ම භාවිතා කරනු ඇත git branch --sort=-committerdate: පහත මගේ පිළිතුර බලන්න
VonC

1
තබන්නා අනුපිටපතක් stackoverflow.com/questions/9236219/...
Ondra Žižka

Answers:


1921

--sort=-committerdateවිකල්පය භාවිතා කරන්න git for-each-ref;

ද ලබා ගත Git 2.7.0 සිට සඳහා git branch:

මූලික භාවිතය:

git for-each-ref --sort=-committerdate refs/heads/

# Or using git branch (since version 2.7.0)
git branch --sort=-committerdate  # DESC
git branch --sort=committerdate  # ASC

ප්‍රති ult ලය:

ප්‍රති ult ලය

උසස් භාවිතය:

git for-each-ref --sort=committerdate refs/heads/ --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(color:red)%(objectname:short)%(color:reset) - %(contents:subject) - %(authorname) (%(color:green)%(committerdate:relative)%(color:reset))'

ප්‍රති ult ලය:

ප්‍රති ult ලය


15
පරිපූර්ණ! එකතු කිරීමෙන් මට ප්‍රතිදානය ref නම් වලට පමණක් සීමා කළ හැකිය --format=%(refname).
ජෝ වයිට්

35
මෙය මට වඩා හොඳය:git for-each-ref --sort=-committerdate refs/heads/ --format='%(refname) %(committerdate) %(authorname)' | sed 's/refs\/heads\///g'
saeedgnu

2
@ilius: ඇයි භාවිතා නොකරන්නේ :shortname?
ජකුබ් නාරබ්ස්කි

37
@ilius: eBeauSmith ලියා ඇති පරිදි : git for-each-ref --sort=-committerdate --format='%(refname:short)' refs/heads/. git-for-every-ref (1) manpage මෙසේ කියයි: ref උපග්‍රන්ථයේ නොපැහැදිලි කෙටි නමක් සඳහා :short.
ජකුබ් නාරබ්ස්කි

76
මෙය එක් එක් ශාඛාවේ අන්තිම බැඳීමේ සාපේක්ෂ වයස සමඟ බැඳීම් දිනය මත පදනම්ව ඇණවුම් කළ හැෂ්, පණිවිඩ, වර්ණ ගැන්වූ අනුවාදයකි. මම ඔයාලගේ අදහස් ඔක්කොම හොරකම් කළා. එය මගේ .gitconfig [alias]කොටසේ ඇති අතර මම එයට කැමතියි. br = for-each-ref --sort=committerdate refs/heads/ --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(color:red)%(objectname:short)%(color:reset) - %(contents:subject) - %(authorname) (%(color:green)%(committerdate:relative)%(color:reset))'
මයිකල් පර්සි

126

නවතම බැඳීම් අනුව ඇණවුම් කරන ලද Git ශාඛා නාම ලැයිස්තුව…

ජකුබ්ගේ පිළිතුර සහ ජෝගේ ඉඟිය පුළුල් කරමින් , පහත දැක්වෙන්නේ "refs / head /" ඉවත් කිරීමයි, එබැවින් ප්‍රතිදානය මඟින් පෙන්වන්නේ ශාඛා නම් පමණි:


විධානය:

git for-each-ref --count=30 --sort=-committerdate refs/heads/ --format='%(refname:short)'

ප්‍රති ult ලය:

මෑත කාලීන Git ශාඛා


4
ඔබට --format=%(refname:short)විශ්වාසය තැබීම වෙනුවට භාවිතා කළ හැකිය cut.
චෛත්‍ය ගුප්තා

3
REMOTE නිධිය සඳහා මෙය කිරීමට ක්‍රමයක් තිබේද?
ඇලන් බෝව්

11
aah - ak jakub.g දැනටමත් පැහැදිලි කර ඇත: ඔබට refs / head / වෙනුවට refs / දුරස්ථ / පසුකර දුරස්ථ ශාඛා ලබා ගත හැකිය. පරිපූර්ණ!!
ඇලන් බෝව්

2
දැන් ඔබට මෙය කළ හැකිය git branch, එබැවින් දේශීය, දුරස්ථ හෝ සියලුම ශාඛා ලබා ගැනීම git-branch (එනම් -r, -a) වැනි ක්‍රියා කරයි. git branch -r --sort=committerdate --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(color:red)%(objectname:short)%(color:reset) - %(contents:subject) - %(authorname) (%(color:green)%(committerdate:relative)%(color:reset))'
ෆෝර්ඩ්

1
Lan ඇලන්බෝව් පහත දැක්වෙන්නේ හොඳම ක්‍රියාකාරී ශාඛා 5 ප්‍රතිමූර්තියක ප්‍රතිදානය කිරීමයි : git branch -va --sort=committerdate | tail -5. සමහර විට එය ඔබ ඉල්ලන සහ සොයාගත් දෙයට විකල්පයක් විය හැකිය.
මාර්කස්සේ

90

මෙන්න ප්‍රශස්ත කේතය, අනෙක් පිළිතුරු දෙක ඒකාබද්ධ කරයි:

git for-each-ref --sort=-committerdate refs/heads/ --format='%(committerdate:short) %(authorname) %(refname:short)'

10
කුඩා මෝරයක් පවා වගුගත ප්‍රතිදානයක් ලබා ගැනීම සඳහා ප්‍රශස්තිකරණය කර ඇත:git for-each-ref --sort=-committerdate refs/heads/ --format='%(committerdate:short) %(authorname) %(refname:short)'
schoetbi

2
කිසියම් හේතුවක් නිසා මට කවුළු මත ද්විත්ව උපුටා දැක්වීම් කිරීමට සිදු විය, නමුත් වෙනත් ආකාරයකින් මේවා හොඳින් ක්‍රියාත්මක වේ :)
amenthes

1
chschoetbi එම කේතය හරියටම නිකොලායි හි කේතය මෙන් පෙනේ, එය වගුගත කිරීම සඳහා ඔබ වෙනස් කළේ කුමක්ද?
එන්රිකෝ

N එන්රිකෝ සහ වෙනත් අය එකම දේ ගැන පුදුම විය හැකිය. නිකොලේ ස්කොට්බිස් යෝජනාව භාවිතා කරමින් ඔහුගේ පිළිතුර වෙනස් කළේය. සෑම විටම එකම දිගකින් යුත් දිනය පළමුව චලනය කිරීමෙන් ප්‍රති result ලය වඩාත් වගුගතව පෙනේ.
ජොනී

89

නවතම කොමිස් සහිත සියලුම ශාඛා ලැයිස්තුගත කරන සරල විධානයක් මෙන්න:

git branch -v

නවතම කැපවීම අනුව ඇණවුම් කිරීමට, භාවිතා කරන්න

git branch -v --sort=committerdate

මුලාශ්‍රය: http://git-scm.com/book/en/Git-Branching-Branch-Management


12
git branch -avඔබට දේශීය නොවන ශාඛා ද දැකීමට අවශ්‍ය නම්.
ස්කොට් ස්ටැෆර්ඩ්

35
ප්‍රශ්නයට අනුව මෙය බැඳීමේ දිනය අනුව වර්ග නොකෙරේ.
කැස්

1
git branch -vලැයිස්තුගත කර ඇති එක් එක් බැඳීම් දිනය ඇතුළත් කිරීම පහසු ද ?
ඩම්බල්ඩෑඩ්

1
<pre> git branch -v --sort = committerdate </pre> ගැන කෙසේද?
iraj jelodari

3
මේක නම් නියමයි. git branch -va --sort=-committerdateදේශීය නොවන ශාඛා පෙන්වීමට මම කැමතියි .
ක්ලින්ටන් බ්ලැක්මෝර්

63

මම පහත අන්වර්ථය භාවිතා කරමි:

recent = "!r(){git for-each-ref --sort=-committerdate refs/heads --format='%(HEAD)%(color:yellow)%(refname:short)|%(color:bold green)%(committerdate:relative)|%(color:blue)%(subject)|%(color:magenta)%(authorname)%(color:reset)'|column -ts'|'}; r"

නිපදවන:

ප්‍රති ult ලය

'|' භාවිතා කරන්න වෙන් කිරීමට.


1
නියම අන්වර්ථය! column -ts'|'ඔබේ පෙදෙසෙහි සාපේක්ෂ කාලරාමු තුළ කොමා වර්‍ගය සිදුවිය හැකි නම් මම යෝජනා කරමි .
Björn Lindqvist

2
අවම වශයෙන් git හි නවතම අනුවාදයේ දී ඔබට විධානය '%(HEAD) ...'ක්‍රියාත්මක නොකර එකම ප්‍රති effect ල ලබා ගැනීම සඳහා ආකෘති නූල් ආරම්භයේදීම එකතු කළ හැකියsed
ජොෂුවා ස්කර්සිපෙක්

5
මට මෙය අන්වර්ථයක් ලෙස වැඩ කිරීමට නොහැකි විය. මට භාවිතා කිරීමට සිදු විය[alias] recent = !git for-each-ref --sort=-committerdate refs/heads --format='%(HEAD)%(color:yellow)%(refname:short)|%(color:bold green)%(committerdate:relative)|%(color:blue)%(subject)|%(color:magenta)%(authorname)%(color:reset)'|column -ts'|'
වෙස්ලි ස්මිත්

14
මට වර්ණය ලබා ගැනීමට --color = සෑම විටම එකතු කිරීමට සිදු විය. git for-each-ref --sort=-committerdate refs/heads --format='%(HEAD)%(color:yellow)%(refname:short)|%(color:bold green)%(committerdate:relative)|%(color:blue)%(subject)|%(color:magenta)%(authorname)%(color:reset)' --color=always|column -ts'|'}
user3342930

3
wmwfearnley: මට නම්, වරහන් තුළ අර්ධ සළකුණක් තැබීම උදව් විය!r(){git for-each-ref ... ;}; r
කාල් බාර්ටෙල්

42

මට වඩාත්ම ගැලපෙන දෙයක් නිර්මාණය කිරීම සඳහා පෙර උදාහරණ සඳහන් කිරීමට මට හැකි විය.

git for-each-ref --sort = -committerdate refs / head / --format = '% (කර්තෘ දිනය: කෙටි)% (වර්ණය: රතු)% (වස්තු නම: කෙටි)% (වර්ණය: කහ)% (වර්ණය: කහ) )% (වර්ණය: යළි පිහිටුවීම) (% (වර්ණය: කොළ)% (කැපවීමේ දිනය: සාපේක්ෂ)% (වර්ණය: යළි පිහිටුවීම)) '

ප්‍රතිදානයේ තිර රුව


1
Stackoverflow.com/a/33163401/6309 හි මා යෝජනා කළ පරිදි කෙලින්ම git ශාඛාව භාවිතා කිරීමට වඩා එය ලස්සන, වර්ණවත් බව පෙනේ . +1
VonC

2
අනෙක් අය මෙන් නොව මේ තැනැත්තා මා වෙනුවෙන් වැඩ කළේය, එබැවින් මම ඒ සඳහා ඡන්දය ප්‍රකාශ කළෙමි.
කේසි

1
ඇත්තෙන්ම හොඳට වැඩ කළා! ස්තූතියි! :-)
FrozenTarzan

1
ඩිටෝ - මම උත්සාහ කළ අනෙක් ඒවා මෙන් නොව, මෙය පිටත සිට ක්‍රියාත්මක විය. ස්තූතියි.
ඩෑන් නිසෙන්බෝම්

3
මෙය පිරිසිදු හා පිළිවෙලට ඇත. සමහර විට මම දුරස්ථ හා කර්තෘ නාමය මෙයට එකතු කරමි: git for-each-ref --sort=-committerdate refs/heads/ refs/remotes --format='%(authordate:short) %(authorname) %(color:red)%(objectname:short) %(color:yellow)%(refname:short)%(color:reset) (%(color:green)%(committerdate:relative)%(color:reset))'
ywu

38

මට අනුපිටපත් නොමැතිව වර්ණ, ටැග් සහ දුරස්ථ යොමු කිරීම් ද අවශ්‍ය විය:

for ref in $(git for-each-ref --sort=-committerdate --format="%(refname)" refs/heads/ refs/remotes ); do git log -n1 $ref --pretty=format:"%Cgreen%cr%Creset %C(yellow)%d%Creset %C(bold blue)<%an>%Creset%n" | cat ; done | awk '! a[$0]++'

උපුටා දැක්වීම දුෂ්කර විය හැකි නිසා, මෙන්න බාෂ් සඳහා අන්වර්ථය:

alias glist='for ref in $(git for-each-ref --sort=-committerdate --format="%(refname)" refs/heads/ refs/remotes ); do git log -n1 $ref --pretty=format:"%Cgreen%cr%Creset %C(yellow)%d%Creset %C(bold blue)<%an>%Creset%n" | cat ; done | awk '"'! a["'$0'"]++'"

$ <ඔබේ විධානය මෙහි> awk: 1 වන පේළිය අසල සින්ටැක්ස් දෝෂය: 1 වන පේළිය අසල ඇපදීම
ජේමි මේසන්

@GotNoSugarBaby ඔබ උදාහරණය වැනි තනි උපුටා දැක්වීම් භාවිතා කරයි නේද? ඔබ භාවිතා කරන්නේ කුමන කවචයද? බාෂ් එම චරිතයට වෙනත් අර්ථයක් ලබා දෙයි.
estani

හේයි, මම මෙය / bin / bash (GNU bash, 4.0.28 (1) -release (i386-pc-solaris2.11)) මත ඔබේ උදාහරණයේ පිටපතක් හා පේස්ට් එකක් සමඟ ධාවනය කළෙමි - නමුත් එතැන් සිට මම දුවමි එය / bin / bash (GNU bash, 3.2.48 (1) අනුවාදය-මුදා හැරීම (x86_64-apple-darwin12)) මත ක්‍රියාත්මක වන අතර එය ක්‍රියාත්මක වන බැවින් මම පහළ ඡන්දය ඉවත් කරමි. ගොඩක් ස්තූතියි එස්තනි.
ජේමි මේසන්

OtGotNoSugarBaby මම භාවිතා කරන්නේ 4.2.25 (1) - මුදා හැරීම (x86_64-pc-linux-gnu) nad 3.x මත උත්සාහ කර වැඩ කර ඇත. එය කුමන ගැටළුවදැයි මට විශ්වාස නැත ... නමුත් එය බාෂ් එකක් වෙනුවට git අනුවාදයට සම්බන්ධ නිකුතුවක් විය හැකිය. කෙසේ වෙතත්, එය ඔබ වෙනුවෙන් වැඩ කිරීම ගැන මම සතුටු වෙමි!
estani

1
Ic මයිකල් ඩිස්කෙන්සා සෑම දෙයක්ම හිස ඔසවන්න. | head -n20එය අවසානයේ එකතු කිරීමයි. ඔබ අන්වර්ථය භාවිතා කරන්නේ නම්, මෙය උපුටා දැක්වීම් තුළට යන බවට වග බලා ගන්න .
estani

25

git 2.7 (Q4 2015) කෙලින්ම භාවිතා කරමින් ශාඛා වර්ග කිරීම හඳුන්වා දෙනු ඇත git branch:
බලන්න aa3bc55 , aedcb7d , 1511b22 , f65f139 , ... (23 සැප්තැම්බර් 2015), aedcb7d කරන්න , 1511b22 කරන්න , ca41799 (2015 සැප්තැම්බර් 24), සහ commit f65f139 , ... (23 සැප්තැම්බර් 2015) කාර්තික් නායක ( KarthikNayak) විසිනි.
(විසින් අලුතින් ඒකාබද්ධ ජූනි සී Hamano - gitster- දී 7f11b48 සිදු , 15 ඔක්තෝබර් 2015)

විශේෂයෙන්, aedcb7d කරන්න :

branch.c: ref-filterAPI භාවිතා කරන්න

Refs වර්ග කිරීම හරහා නැවත යෙදීම සඳහා API branch.cභාවිතා කරන්න ref-filter. මෙය පුස්තකාලයට branch.cඇමතුම් මගින් ආදේශ කිරීම සඳහා භාවිතා කරන බොහෝ කේත ඉවත් කරයි ref-filter.

එය විකල්පය එක් කරයි--sort=<key> :

ලබා දී ඇති යතුර මත පදනම්ව වර්ග කරන්න. වටිනාකමේ අවරෝහණ පිළිවෙලට වර්ග කිරීමට
උපසර්ගය -.

ඔබට --sort=<key>විකල්පය කිහිප වතාවක් භාවිතා කළ හැකිය, එම අවස්ථාවේදී අවසාන යතුර ප්‍රාථමික යතුර බවට පත්වේ.

සහය දක්වන යතුරු ඇති ඒවාට සමාන වේgit for-each-ref .
සම්පූර්ණ නැවත නම ( refs/...උපසර්ගය ඇතුළුව ) මත පදනම්ව වර්ග කිරීම සඳහා ඇණවුම් පෙරනිමි . මෙම ලැයිස්තුව මුලින් වෙන් කරන ලද HEAD (තිබේ නම්), පසුව දේශීය ශාඛා සහ අවසානයේ දුරස්ථ ලුහුබැඳීමේ ශාඛා ලැයිස්තුගත කරයි.

මෙහි:

git branch --sort=-committerdate 

නැතහොත් (Git 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) කාර්තික් නායක් ( KarthikNayak) .
උදව්: ජූනියෝ සී හමානෝ ( gitster) .
(විසින් අලුතින් ඒකාබද්ධ ජූනි සී Hamano - gitster- දී 415095f සිදු නොවැම්බර් 2015, 03)

සංඛ්‍යාත්මක අගයන් අනුව වර්ග කිරීමේදී (උදා --sort=objectsize) ref දෙකම එකම අගයක් දරණ විට ආපසු සංසන්දනයක් නොමැත. ජොහැන්නස් සික්ස්ට් ( $ gmane / 280117 ) විසින් පෙන්වා දී ඇති පරිදි මෙය අනපේක්ෂිත ප්‍රති results ල ලබා දිය හැකිය (එනම් සමාන අගයන් සහිත ලැයිස්තුගත කිරීමේ අනුපිළිවෙල කලින් තීරණය කළ නොහැක ).

එබැවින්, අනෙක් නිර්ණායක සමාන වන සෑම විටම නැවත නම මත පදනම්ව අකාරාදී සැසඳීමකට වැටීම .

$ git branch --sort=objectsize

*  (HEAD detached from fromtag)
      branch-two
      branch-one
      master

Git 2.19 සමඟ, වර්ග කිරීමේ අනුපිළිවෙල පෙරනිමියෙන් සැකසිය හැකිය.
git branchඑය config සහාය branch.sortවැනි git tagදැනටමත් config තිබූ, tag.sort. සැමුවෙල් මාෆ්ටෝල් (``) විසින් කැපවූ 560ae1c (16 අගෝස්තු 2018)
බලන්න . (ඒකාබද්ධ කරන ලද්දේ ජූනියෝ සී හමානෝ - - in commit d89db6f , 27 අගෝස්තු 2018)
gitster

branch.sort:

මෙම විචල්‍යය මඟින් දර්ශනය වන විට ශාඛා වර්ග කිරීම පාලනය කරයි git-branch.
ලබා දී ඇති " --sort=<value>" විකල්පය නොමැතිව, මෙම විචල්යයේ අගය පෙරනිමිය ලෙස භාවිතා කරනු ඇත.


දුරස්ථ ශාඛා ලැයිස්තුගත කිරීමට, භාවිතා කරන්න git branch -r --sort=objectsize. මෙම -rධජය දුරස්ථ ශාඛා වෙනුවට දේශීය ශාඛා ලැයිස්තු ගත කිරීම සඳහා එය හේතු වේ.


Git 2.27 (Q2 2020) සමඟ, " git branch" සහ අනෙකුත් " for-each-ref" ප්‍රභේදයන් --sort=<key>වැඩි වන ප්‍රමුඛතා අනුපිළිවෙලෙහි බහුවිධ විකල්පයන් පිළිගත් නමුත්, එය --ignore-caseහැසිරවීම වටා බිඳීම් කිහිපයක් ඇති අතර, නැවත නම් කිරීම සමඟ ගැටගැසීම් සවි කර ඇත.

කැපවීම 7c5045f බලන්න , ජෙෆ් කිං ( ) විසින් 76f9e56 (2020 මැයි 03 ) කරන්න . (විසින් අලුතින් ඒකාබද්ධ ජූනි සී Hamano - - දී 6de1630 සිදු , 08 මැයි 2020)peff
gitster

ref-filter: සියලු පරිශීලක වර්ග වලට පසුව පමණක් පසුබැසීම් නැවත නම් කිරීම වර්ග කරන්න

අත්සන් කළේ: ජෙෆ් කිං

සිදු 9e468334b4 ( " ref-filter: අකාරාදී සංසන්දනය මත ෆෝල්බැක්", 2015-10-30, Git v2.7.0-rc0 - ඒකාබද්ධ ලැයිස්තුගත කණ්ඩායම # 10 ) refnames සංසන්දනය කිරීමට fallback කිරීමට ref-පෙරහන ගේ ආකාරයක ඉගැන්වූ සේක.
නමුත් එය වැරදි මට්ටමින් සිදු කළ අතර, --sortසියලු වර්ගවල යතුරු අවසන් වූ පසු නොව, පරිශීලකයාගේ තනි යතුරක් සඳහා සංසන්දනය කිරීමේ ප්‍රති result ලය ඉක්මවා යයි .

මෙය තනි " --sort" විකල්පයක් සඳහා නිවැරදිව ක්‍රියා කළ නමුත් බහු ඒවා සඳහා නොවේ.
අපි පළමු යතුරේ ඇති නම නැවත නම් කිරීම සමඟ බිඳ දමනු ඇති අතර දෙවන යතුර කිසි විටෙකත් තක්සේරු නොකරමු.

කාරණා වඩාත් සිත්ගන්නාසුළු කිරීම සඳහා, අපි මෙම පසුබෑම සමහර විට පමණක් ක්‍රියාත්මක කළෙමු! නූල් සැසඳීමක් අවශ්‍ය වන
" taggeremail" වැනි ක්ෂේත්‍රයක් සඳහා, අපි එහි ප්‍රති result strcmp()ලය 0 ක් වුවද සැබවින්ම ලබා දෙන්නෙමු.
නමුත් සංඛ්‍යාත්මක " value" " " වැනි ක්ෂේත්‍ර සඳහා taggerdate, අපි පසුබෑම යෙදුවෙමු. අපගේ බහුවිධ වර්ගීකරණ පරීක්ෂණය මෙය මග හැරියේ එබැවිනි: එය taggeremailප්‍රධාන සංසන්දනය ලෙස භාවිතා කරයි .

එබැවින් වඩාත් දැඩි පරීක්ෂණයක් එකතු කිරීමෙන් ආරම්භ කරමු. ටැගර් ඊමේල්, දිනයන් සහ නැවත නම් කිරීම් දෙකක සෑම සංයෝජනයක්ම ප්‍රකාශ කරන කොමිස් කට්ටලයක් අප සතුව ඇත. එවිට අපගේ වර්ග කිරීම නිවැරදි පූර්වාදර්ශයකින් ක්‍රියාත්මක වන බව අපට තහවුරු කළ හැකි අතර, අපි නූල් සහ අගය සංසන්දකයන්ට පහර දෙමු.

එය දෝෂය පෙන්වන අතර නිවැරදි කිරීම සරල ය: compare_refs()සියලු ref_sortingයතුරු අවසන් වූ පසු පිටත ශ්‍රිතයට පසුබෑම ගෙනයාම .

පිටත ශ්‍රිතයේ අපට "ignore_case"ධජයක් නොමැති බව සලකන්න , එය එක් එක් ref_sortingමූලද්‍රව්‍යයේ කොටසකි . ගැලපීම සඳහා අපි පරිශීලකයාගේ යතුරු භාවිතා නොකළ බැවින් එවැනි පසුබෑමක් කළ යුත්තේ කුමක් ද යන්න විවාදාත්මක ය.
නමුත් මේ වන තෙක් අපි එම ධජයට ගරු කිරීමට උත්සාහ කර ඇත්තෙමු, එබැවින් අවම ආක්‍රමණශීලී දෙය වන්නේ එය දිගටම කරගෙන යාමට උත්සාහ කිරීමයි.
වත්මන් කේතයේ සියලුම ඇමතුම්කරුවන් සියලු යතුරු සඳහා ධජය සකසා ඇති නිසා හෝ කිසිවක් සඳහා, අපට පළමු යතුරෙන් ධජය අදින්න පුළුවන්. යතුරු වල සිද්ධි-සංවේදීතාව වෙන වෙනම පෙරළා දැමිය හැකි උපකල්පිත ලෝකයක, එම අවස්ථාව බ්ලැන්කට්ටුවකින් වෙන්කර හඳුනා ගැනීම සඳහා කේතය දීර් extend කිරීමට අපට අවශ්‍ය විය හැකිය --ignore-case.


මෙම විකල්පය සමඟ දුරස්ථ ලැයිස්තුගත කිරීම සඳහා, එක් කරන්න-r
ට්‍රෝයි ඩැනියෙල්ස්

Ry ට්‍රෝ ඩැනියෙල්ස් එකඟ විය. ඔබට පිළිතුර සංස්කරණය කළ හැකිය. මම ඔබේ සංස්කරණය සමාලෝචනය කරමි.
VonC

24

අනෙක් පිළිතුරු -vvවාචික ප්‍රතිදානය ලබා ගැනීමට සමත් වන බවක් නොපෙනේ .

ඉතින් මෙහි එක් ලයිනර් එකක් කැපවීමේ git branch -vvදිනය අනුව වර්ග කිරීම, වර්ණය ආරක්ෂා කිරීම යනාදිය:

git branch -vv --color=always | while read; do echo -e $(git log -1 --format=%ct $(echo "_$REPLY" | awk '{print $2}' | perl -pe 's/\e\[?.*?[\@-~]//g') 2> /dev/null || git log -1 --format=%ct)"\t$REPLY"; done | sort -r | cut -f 2

ඔබට අතිරේකව කැපවීමේ දිනය මුද්‍රණය කිරීමට අවශ්‍ය නම්, ඒ වෙනුවට ඔබට මෙම අනුවාදය භාවිතා කළ හැකිය:

git branch -vv --color=always | while read; do echo -e $(git log -1 --format=%ci $(echo "_$REPLY" | awk '{print $2}' | perl -pe 's/\e\[?.*?[\@-~]//g') 2> /dev/null || git log -1 --format=%ci)" $REPLY"; done | sort -r | cut -d ' ' -f -1,4-

නියැදි ප්‍රතිදානය:

2013-09-15   master                  da39a3e [origin/master: behind 7] Some patch
2013-09-11 * (detached from 3eba4b8) 3eba4b8 Some other patch
2013-09-09   my-feature              e5e6b4b [master: ahead 2, behind 25] WIP

එය බොහෝ විට කියවිය හැකි බහු පේළි කිහිපයකට බෙදිය හැකිය:

git branch -vv --color=always | while read; do
    # The underscore is because the active branch is preceded by a '*', and
    # for awk I need the columns to line up. The perl call is to strip out
    # ansi colors; if you don't pass --color=always above you can skip this
    local branch=$(echo "_$REPLY" | awk '{print $2}' | perl -pe 's/\e\[?.*?[\@-~]//g')
    # git log fails when you pass a detached head as a branch name.
    # Hide the error and get the date of the current head.
    local branch_modified=$(git log -1 --format=%ci "$branch" 2> /dev/null || git log -1 --format=%ci)
    echo -e "$branch_modified $REPLY"
# cut strips the time and timezone columns, leaving only the date
done | sort -r | cut -d ' ' -f -1,4-

මෙය වෙනත් තර්ක සමඟ ක්‍රියා කළ යුතුය git branch, උදා: -vvrදුරස්ථ ලුහුබැඳීමේ ශාඛා -vvaලැයිස්තුගත කිරීම , හෝ දුරස්ථ ලුහුබැඳීම් සහ දේශීය ශාඛා ලැයිස්තුගත කිරීම.


-vvඇත්තෙන්ම ප්‍රයෝජනවත් විය හැකිය, ස්තූතියි. කෙසේ වෙතත්, මෙම විසඳුම සෑම ශාඛාවක් සඳහාම නව ක්‍රියාදාමයන් ඇති කරයි.
musiphil

ඇත්ත වශයෙන්ම git branchඅර්ථය නිශ්චිතවම අර්ථ දක්වා නැත -vv, නමුත් පමණක් -v, ඒ -vvහා සමාන විය යුතුය -v.
මුසිෆිල්

2
මෙය හොඳම වේ. -Avv එකතු කිරීමෙන් දුරස්ථ ශාඛා ද සැලකිල්ලට ගනී. මේ සඳහා ස්තූතියි!
ගොපර්කාන්

us මුසිෆිල් මගේ git ශාඛා මෑන්පේජ්, කොටසේ -v, -vv, --verboseපහත සඳහන් දෑ අඩංගු වේ:If given twice, print the name of the upstream branch, as well
Perleone

Er පර්ලියන්: මම ඒ තොරතුරු ලබාගත්තේ කෙසේදැයි මම නොදනිමි, නමුත් ඔබ හරි, මම නිවැරදි කරමි. ස්තූතියි!
musiphil

19

සාපේක්ෂ දිනයක් භාවිතා කිරීමට සහ ශාඛා නාමය මේ ආකාරයට කෙටි කිරීමට මම කැමතියි:

git for-each-ref --sort='-authordate:iso8601' --format=' %(authordate:relative)%09%(refname:short)' refs/heads

එය ඔබට ප්‍රතිදානය ලබා දෙයි:

21 minutes ago  nathan/a_recent_branch
6 hours ago     master
27 hours ago    nathan/some_other_branch
29 hours ago    branch_c
6 days ago      branch_d

ඔබගේ ප්‍රියතම අන්වර්ථ නාම එකතු කර පිටපත ඔබේ කණ්ඩායමට බෙදා ගැනීම සඳහා Bash ගොනුවක් සෑදීමට මම නිර්දේශ කරමි. මෙය එක් කිරීමට උදාහරණයක් මෙන්න:

#!/bin/sh

git config --global alias.branches "!echo ' ------------------------------------------------------------' && git for-each-ref --sort='-authordate:iso8601' --format=' %(authordate:relative)%09%(refname:short)' refs/heads && echo ' ------------------------------------------------------------'"

මනාව හැඩගස්වා වර්ග කළ දේශීය ශාඛා ලැයිස්තුවක් ලබා ගැනීම සඳහා ඔබට මෙය කළ හැකිය:

git branches

යාවත්කාලීන කිරීම: ඔබට වර්ණ ගැන්වීමට අවශ්‍ය නම් මෙය කරන්න:

#!/bin/sh
#
(echo ' ------------------------------------------------------------‌​' && git for-each-ref --sort='-authordate:iso8601' --format=' %(authordate:relative)%09%(refname:short)' refs/heads && echo ' ------------------------------------------------------------‌​') | grep --color -E "$(git rev-parse --abbrev-ref HEAD)$|$"

මෙය මට ලබා දෙයිfatal: unknown field name: '-authordate:iso8601'
Factor Mystic

1
විසිතුරු වර්ණ ප්‍රතිදානය විසිතුරු ය, නමුත් මෙය සරල ය, මා සොයන දෙය ය. වෙනුවට refs/headsසමග refs/remotesදුරස්ථ ශාඛා දෙස ඇති.
ලැම්බාර්ට්

විධානයම සුන්දරයි, නමුත් අන්වර්ථය දෝෂයක් ඇති කරයි:expansion of alias 'branches' failed; 'echo' is not a git command
පිලිප් කාන්

මා වෙනුවෙන් වැඩ කරයි. ඔබ මෙය ටර්මිනලයට අලවා පිටපත් කළහොත් කුමක් සිදුවේද? (echo ' ------------------------------------------------------------‌​' && git for-each-ref --sort='-authordate:iso8601' --format=' %(authordate:relative)%09%(refname:short)' refs/heads && echo ' ------------------------------------------------------------‌​') | grep --color -E "$(git rev-parse --abbrev-ref HEAD)$|$"
n8tr

18

Git 2.19 අනුව ඔබට සරලවම කළ හැකිය:

git branch --sort=-committerdate

ඔබට ද කළ හැකිය:

git config branch.sort -committerdate

එබැවින් ඔබ වත්මන් ගබඩාවේ ශාඛා ලැයිස්තුගත කරන සෑම විටම එය කැපකිරීම් දිනය අනුව වර්ග කරනු ලැබේ.

ඔබ ශාඛා ලැයිස්තුගත කරන සෑම විටම, ඒවා කොමිටර්ඩේට් අනුව වර්ග කිරීමට ඔබට අවශ්‍ය නම්:

git config --global branch.sort -committerdate

වියාචනය: මම Git හි මෙම අංගයේ කතුවරයා වන අතර, මෙම ප්‍රශ්නය දුටු විට මම එය ක්‍රියාත්මක කළෙමි.


2
බොහෝ යාවත්කාලීන පිළිතුර, සංකීර්ණ ස්ක්‍රිප්ට් හෝ අන්වර්ථ නාම භාවිතා කිරීමට වඩා පහසුය 👌
mtefi

ප්‍රවේශමෙන් භාවිතා කරන්න! සෑම කෙනෙකුම පරෙස්සම් වන්න, මෙය ශාඛා ලැයිස්තුගත කිරීමේ විධානයක් නොවේ. එය Git හි වින්‍යාසය වෙනස් කිරීම සඳහා වන විධානයක් වන අතර එය ස්ථිර ගෝලීය ප්‍රතිවිපාක ඇති කරයි.
ජසිමොව්

1
Az ජසිමොව් ඔබ හරි, මම පිළිතුර සංස්කරණය කළෙමි, එබැවින් එය වඩාත් පැහැදිලි වේ
පරිශීලක 801247

11

යම් වර්ණයක් එක් කරයි (නොමැති බැවින් pretty-format)

[alias]
    branchdate = for-each-ref --sort=-committerdate refs/heads/ --format="%(authordate:short)%09%(objectname:short)%09%1B[0;33m%(refname:short)%1B[m%09"

9

මටත් ඒ වගේ ප්‍රශ්නයක් තිබුණ නිසා මම ට්විග් නමින් රූබි මැණික් වර්ගයක් ලිව්වා . එය ශාඛා කාලානුක්‍රමික පිළිවෙලට ලැයිස්තුගත කරයි (අළුත්ම පළමුවැන්න), තවද ඔබට සියලු ශාඛා ලැයිස්තුගත නොකිරීමට උපරිම වයස නියම කිරීමට ඔබට ඉඩ දිය හැකිය (ඔබට ඒවායින් බොහොමයක් තිබේ නම්). උදාහරණයක් වශයෙන්:

$ twig

                              issue  status       todo            branch
                              -----  ------       ----            ------
2013-01-26 18:00:21 (7m ago)  486    In progress  Rebase          optimize-all-the-things
2013-01-26 16:49:21 (2h ago)  268    In progress  -               whitespace-all-the-things
2013-01-23 18:35:21 (3d ago)  159    Shipped      Test in prod  * refactor-all-the-things
2013-01-22 17:12:09 (4d ago)  -      -            -               development
2013-01-20 19:45:42 (6d ago)  -      -            -               master

සෑම ශාඛාවක් සඳහාම අභිරුචි දේපල ගබඩා කිරීමට ද එය ඔබට ඉඩ සලසයි, උදා: ටිකට් හැඳුනුම්පත, තත්වය, ටෝඩෝස් සහ මෙම ගුණාංග අනුව ශාඛා ලැයිස්තුව පෙරහන් කරන්න. වැඩි විස්තර: http://rondevera.github.io/twig/


5
එකම නමක් සහිත මෘදුකාංග කිහිපයක් එහි ඇති බව මට විශ්වාස බැවින් එම නම උදව් නොවනු ඇත.
thoroc

9

මම පහත විධානය ඉදිරිපත් කළෙමි (Git 2.13 සහ පසුව):

git branch -r --sort=creatordate \
    --format "%(creatordate:relative);%(committername);%(refname:lstrip=-1)" \
    | grep -v ";HEAD$" \
    | column -s ";" -t

ඔබ සතුව නොමැති නම් ඔබට columnඅවසාන පේළිය ආදේශ කළ හැකිය

    | sed -e "s/;/\t/g"

ප්‍රතිදානය පෙනේ

6 years ago             Tom Preston-Werner  book
4 years, 4 months ago   Parker Moore        0.12.1-release
4 years ago             Matt Rogers         1.0-branch
3 years, 11 months ago  Matt Rogers         1.2_branch
3 years, 1 month ago    Parker Moore        v1-stable
12 months ago           Ben Balter          pages-as-documents
10 months ago           Jordon Bedwell      make-jekyll-parallel
6 months ago            Pat Hawks           to_integer
5 months ago            Parker Moore        3.4-stable-backport-5920
4 months ago            Parker Moore        yajl-ruby-2-4-patch
4 weeks ago             Parker Moore        3.4-stable
3 weeks ago             Parker Moore        rouge-1-and-2
19 hours ago            jekyllbot           master

විවිධ කොටස් වැඩ කරන ආකාරය ගැන මම බ්ලොග් සටහනක් ලිව්වෙමි .


හොඳයි. +1. එය git branch --sortමා විසින් stackoverflow.com/a/33163401/6309 හි සඳහන් කර ඇත .
VonC

An ඩැනිස්සෙන්බාම් ඔබ Git 2.13 (2017 මැයි මාසයේදී නිකුත් කරන ලදි) හෝ පසුව භාවිතා කරන බවට වග බලා ගන්න.
bdesham

7

FYI, ඔබ මෑතකදී පරීක්ෂා කරන ලද ශාඛා ලැයිස්තුවක් ලබා ගැනීමට කැමති නම් (මෑතකදී සිදු කළ දෙයට වඩා වෙනස්ව) ඔබට Git හි reflog භාවිතා කළ හැකිය:

$ git reflog | egrep -io "moving from ([^[:space:]]+)" | awk '{ print $3 }' | head -n5
master
stable
master
some-cool-feature
feature/improve-everything

මෙයද බලන්න: මා මෑතකදී පරීක්ෂා කළ Git ශාඛා ලැයිස්තුවක් ලබා ගන්නේ කෙසේද?


5

මෑත ශාඛා අතර මාරුවීමට මා භාවිතා කරන කුඩා පිටපතක් මෙන්න:

#!/bin/bash
# sudo bash

re='^[0-9]+$'

if [[ "$1" =~ $re ]]; then
    lines="$1"
else
    lines=10
fi
branches="$(git recent | tail -n $lines | nl)"
branches_nf="$(git recent-nf | tail -n $lines | nl)"
echo "$branches"

# Prompt which server to connect to
max="$(echo "$branches" | wc -l)"
index=
while [[ ! ( "$index" =~ ^[0-9]+$ && "$index" -gt 0 && "$index" -le "$max" ) ]]; do
    echo -n "Checkout to: "
    read index
done

branch="$( echo "$branches_nf" | sed -n "${index}p" | awk '{ print $NF }' )"
git co $branch
clear

එම අන්වර්ථ දෙක භාවිතා කිරීම:

recent = for-each-ref --sort=committerdate refs/heads/ --format=' %(color:blue) %(authorname) %(color:yellow)%(refname:short)%(color:reset)'
recent-nf = for-each-ref --sort=committerdate refs/heads/ --format=' %(authorname) %(refname:short)'

එය Git ගබඩාවක අමතන්න, එවිට එය ඔබට අවසාන N ශාඛා (පෙරනිමියෙන් 10) සහ එක් එක් පසෙකින් අංකයක් පෙන්වනු ඇත. ශාඛාවේ අංකය ඇතුල් කරන්න, එය පරීක්ෂා කරයි:

රූප විස්තරය මෙහි ඇතුළත් කරන්න


4

සාමාන්‍යයෙන් අපි මෑතකදී දුරස්ථ ශාඛා සලකා බලමු. එබැවින් මෙය උත්සාහ කරන්න

git fetch
git for-each-ref --sort=-committerdate refs/remotes/origin

4

අනෙක් ස්ක්‍රිප්ට් කරන දේ කරන තවත් පිටපතක් මෙන්න. ඇත්ත වශයෙන්ම, එය ඔබේ කවචය සඳහා ශ්‍රිතයක් සපයයි.

එහි දායකත්වය නම් එය ඔබගේ Git වින්‍යාසයෙන් වර්ණ කිහිපයක් ඇද ගැනීමයි (හෝ පෙරනිමි භාවිතා කරයි).

# Git Branch by Date
# Usage: gbd [ -r ]
gbd() {
    local reset_color=`tput sgr0`
    local subject_color=`tput setaf 4 ; tput bold`
    local author_color=`tput setaf 6`

    local target=refs/heads
    local branch_color=`git config --get-color color.branch.local white`

    if [ "$1" = -r ]
    then
        target=refs/remotes/origin
        branch_color=`git config --get-color color.branch.remote red`
    fi

    git for-each-ref --sort=committerdate $target --format="${branch_color}%(refname:short)${reset_color} ${subject_color}%(subject)${reset_color} ${author_color}- %(authorname) (%(committerdate:relative))${reset_color}"
}

3

මෙය සයීඩ්ග්නුගේ අනුවාදය මත පදනම් වූ නමුත් වර්තමාන ශාඛාව තාරකාවකින් සහ වර්ණයෙන් පෙන්වා ඇති අතර "මාස" හෝ "අවුරුදු" ට පෙර විස්තර නොකළ කිසිවක් පෙන්වයි:

current_branch="$(git symbolic-ref --short -q HEAD)"
git for-each-ref --sort=committerdate refs/heads \
  --format='%(refname:short)|%(committerdate:relative)' \
  | grep -v '\(year\|month\)s\? ago' \
  | while IFS='|' read branch date
    do
      start='  '
      end=''
      if [[ $branch = $current_branch ]]; then
        start='* \e[32m'
        end='\e[0m'
      fi
      printf "$start%-30s %s$end\\n" "$branch" "$date"
    done

2

පිටපතක් ලෙස මගේ හොඳම ප්‍රති result ලය:

git for-each-ref --sort=-committerdate refs/heads/ --format='%(refname:short)|%(committerdate:iso)|%(authorname)' |
    sed 's/refs\/heads\///g' |
    grep -v BACKUP  | 
    while IFS='|' read branch date author
    do 
        printf '%-15s %-30s %s\n' "$branch" "$date" "$author"
    done

1
මොන වගේ පිටපතක්ද? බාෂ්?
පීටර් මෝර්ටෙන්සන්

2

git branch --sort=-committerdate | head -5

කැපවීමේ දිනය මත පදනම්ව ඉහළම ශාඛා නාම 5 ක් ලබා ගැනීමට කැමති ඕනෑම කෙනෙකුට.



1

මෙන්න මම සොයන විචලනය:

git for-each-ref --sort=-committerdate --format='%(committerdate)%09%(refname:short)' refs/heads/ | tail -r

එය tail -rලැයිස්තුව ආපසු හරවන අතර වඩාත් මෑත කාලීනව commiterdateඅන්තිම වේ.


3
මෙය සිදු කිරීම සඳහා ඔබට --sort = -committerdate --sort = committerdate ලෙසද වෙනස් කළ හැකිය.
සකස් කිරීම


1

මට dialogඅන්තර්ක්‍රියාකාරී ලැයිස්තුවක් ලබා දීම සඳහා මම පිළිගත් පිළිතුරෙන් ප්‍රතිදානය නල කරන්නෙමි :

#!/bin/bash

TMP_FILE=/tmp/selected-git-branch

eval `resize`
dialog --title "Recent Git Branches" --menu "Choose a branch" $LINES $COLUMNS $(( $LINES - 8 )) $(git for-each-ref --sort=-committerdate refs/heads/ --format='%(refname:short) %(committerdate:short)') 2> $TMP_FILE

if [ $? -eq 0 ]
then
    git checkout $(< $TMP_FILE)
fi

rm -f $TMP_FILE

clear

(උදා) ලෙස සුරකින්න ~/bin/git_recent_branches.shසහ chmod +xඑය. එහෙනම් git config --global alias.rb '!git_recent_branches.sh'මට අලුත් git rbවිධානයක් දෙන්න.


1

දැනටමත් පිළිතුරු රාශියක් ඇති බව මම දනිමි, නමුත් මෙන්න සරල අන්වර්ථයක් සඳහා මගේ ශත දෙකයි (මගේ නවතම ශාඛාව පතුලේ තිබීමට මම කැමතියි):

[alias]
        br = !git branch --sort=committerdate --color=always | tail -n15
[color "branch"]
        current = yellow
        local = cyan
        remote = red

මෙය ඔබගේ වර්තමාන ශාඛාව උද්දීපනය කර ඇති ඔබේ නවතම ශාඛා 15 වර්ණයෙන් වර්ණවත් ලෙස දළ විශ්ලේෂණයක් ලබා දෙනු ඇත (එයට තරු ලකුණක් ඇත).


1

අන්වර්ථයක් සැකසීමට උත්සාහ කරන විට bash_profile හි මැක් හි තනි උපුටා දැක්වීම් හැසිරවීමේදී යම් ගැටලුවක් තිබේ. මෙම පිළිතුර එය විසඳීමට උපකාරී විය තනි උපුටා දැක්වීම් වලින් තනි උපුටා දැක්වීම් වලින් බේරෙන්නේ කෙසේද

වැඩ කරන විසඳුම:

alias gb='git for-each-ref --sort=committerdate refs/heads/ --format='"'"'%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(color:red)%(objectname:short)%(color:reset) - %(contents:subject) - %(authorname) (%(color:green)%(committerdate:relative)%(color:reset))'"'"''

PS මගේ කීර්තිය නිසා අදහස් දැක්වීමට නොහැකි විය


0

git for-each-ref --sort=committerdate refs/heads/ --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(color:red)%(objectname:short)%(color:reset) - %(contents:subject) - %(authorname) (%(color:green)%(committerdate:relative)%(color:reset))' ඔබට අවශ්‍ය වන්නේ මෙයයි


0

Git v2.19 මඟින්branch.sort වින්‍යාස විකල්පය හඳුන්වා දෙයි ( branch.sort බලන්න ).

එබැවින් git branchපෙරනිමියෙන් බැඳීමේ දිනය (ඩෙස්ක්) අනුව වර්ග කරනු ඇත

# gitconfig
[branch]
    sort = -committerdate     # desc

පිටපත:

$ git config --global branch.sort -committerdate

යාවත්කාලීන කිරීම:

නිසා,

$ git branch
* dev
  master
  _

සහ

$ git branch -v
* dev    0afecf5 Merge branch 'oc' into dev
  master 652428a Merge branch 'dev'
  _      7159cf9 Merge branch 'bashrc' into dev
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.