在git中列出每个分支及其最新版本的日期 [英] Listing each branch and its last revision's date in git

查看:664
本文介绍了在git中列出每个分支及其最新版本的日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要从我们的远程回购中删除旧的无人维护的分支。我试图找到一种方式,通过它来列出远程分支的最后修改日期,我不能。



有人知道一个简单的方法以这种方式列出远程分支?

解决方案

commandlinefu 有两个有趣的命题:

在`git branch |中为

  for k perl -pe s /^..//`; echo -e`git show --pretty = format:%Cgreen%ci%Cblue%cr%Creset$ k  -  | head -n 1`\\\t $ k;完成| sort -r 

或者:

<$ p $对于`git branch |中的k $ p> sed s /^..//`; do echo -e`git log -1 --pretty = format:%Cgreen%ci%Cblue%cr%Creset$ k --`\\\t$ k; done |

这是用于Unix语法的本地分支机构。使用 git branch -r ,您可以类似地显示远程分支:

  for g in`git branch -r | perl -pe's / ^ ..(。*?)( - >。*)?$ / \ 1 /'`; echo -e`git show --pretty = format:%Cgreen%ci%Cblue%cr%Creset$ k  -  | head -n 1`\\\t $ k;完成| sort -r 






迈克尔福雷斯特提及 $ sed 表达式中的zsh要求转义符:

  for g in git branch | perl -pe s \ / \ ^ \.\.\ / \ / /; do echo -e git show --pretty = format:%Cgreen%ci%Cblue%cr%Creset$ k  -  |头-n 1 \\ $ k;完成| sort -r 

kontinuity 增加在评论中:


如果你想添加你的zshrc,需要下面的转义。




 别名gbage ='for g in`git branch -r | perl -pe'\''s / ^ ..(。*?)( - >。*)?$ / \ 1 /'\''; echo -e`git show --pretty = format:%Cgreen%ci%Cblue%cr%Creset$ k  -  | head -n 1`\\\t $ k;完成| sort -r'

多行:

 别名gbage ='for g in`git branch -r | \ 
perl -pe'\''s / ^ ..(。*?)( - >。*)?$ / \ 1 /'\''; \
do echo -e`git show --pretty = format:%Cgreen%ci%Cblue%cr%Creset$ k - \
head -n 1`\\\t $ k;完成| sort -r'


I need to delete old and unmaintained branches from our remote repo. I'm trying to find a way with which to list the remote branches by their last modified date, and I can't.

Does someone know of an easy way to list remote branches this way?

解决方案

commandlinefu has 2 interesting propositions:

for k in `git branch | perl -pe s/^..//`; do echo -e `git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | head -n 1`\\t$k; done | sort -r

or:

for k in `git branch | sed s/^..//`; do echo -e `git log -1 --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k --`\\t"$k";done | sort

That is for local branches, in a Unix syntax. Using git branch -r, you can similarly show remote branches:

for k in `git branch -r | perl -pe 's/^..(.*?)( ->.*)?$/\1/'`; do echo -e `git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | head -n 1`\\t$k; done | sort -r


Michael Forrest mentions in the comments that zsh requires escapes for the sed expression:

for k in git branch | perl -pe s\/\^\.\.\/\/; do echo -e git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | head -n 1\\t$k; done | sort -r 

kontinuity adds in the comments:

If you want to add it your zshrc the following escape is needed.

alias gbage='for k in `git branch -r | perl -pe '\''s/^..(.*?)( ->.*)?$/\1/'\''`; do echo -e `git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | head -n 1`\\t$k; done | sort -r'

In multiple lines:

alias gbage='for k in `git branch -r | \
  perl -pe '\''s/^..(.*?)( ->.*)?$/\1/'\''`; \
  do echo -e `git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | \
     head -n 1`\\t$k; done | sort -r'

这篇关于在git中列出每个分支及其最新版本的日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆