bash脚本,用于按提交的日期对2个表

时间:2016-01-26 10:43:16

标签: git bash

我需要非常有趣的bash& git脚本 可能有人已经有了

检查git中的分支并按照这样排序

  1. 如果提交超过1周(显示)
  2. 分隔符

    1. 其他提交超过2周(显示它们)

1 个答案:

答案 0 :(得分:0)

您需要做的与下面的脚本非常相似 从日志和时间中提取您需要的信息。提交并以您想要的方式打印出来。

这是一个类似于你所要求的脚本。
用它来构建自己的脚本。

for ref in $(git branch -a); do git log -n1 $ref --pretty=format:"%Cgreen%an%Creset %C(yellow)%d%Creset %C(bold blue)%cr%Creset%n" ; done | cat | sort -n -k1,1

脚本的作用是什么?

# define a loop variable named ref
for ref in

# execute the desired bash command.
# in this case loop over all the branches - must begin with the $(...)
$(git branch -a)

# The loop content
do 

# get the log entry (first one and extract the desired data from it)

# get the latest commit from the given branch (only 1 commit) 
git log -n1 

# extract the desired data and highlight the info with colors
#
# %an = author name
# %d  = ref names (branch name in our case)
# %cr = committer date, relative
pretty=format:"%Cgreen%an%Creset %C(yellow)%d%Creset %C(bold blue)%cr%Creset%n"

# finish the loop 
done ;

# print out the data after sorting it based upon selected column
| cat | sort -n -k1,1

要过滤日期,您可以使用

  

--since=<date>
  --after=<date>

     

显示比特定日期更近的提交。

     

--until=<date>
  --before=<date>

     

显示超过特定日期的提交。

enter image description here