분기의 마지막 업데이트 날짜를 일람표의git branch-activity로 쓰기
9655 단어 Git
개요
어느 지점이 새것이고, 어떤 낡은 것인지 몰라서 사람들이 이해할 수 있는 것을 많이 썼다.
usage: git branch-activity [-r | -a] [-R] [--no-color]
로컬 분기 이름과 업데이트 날짜를 git branch-activity
에 새 순서로 표시합니다.원격 분기-r
가 표시되면 를 선택합니다.로컬 및 원격 모두-a
가 표시될 경우요컨대 git branch
의 옵션과 같다.현재 분기는 녹색, 원격 분기는 빨간색, 기타 로컬 분기는 흰색으로 표시됩니다.이것도 맞다
git branch
.설치하다.
curl -o /usr/local/bin/git-branch-activity https://gist.githubusercontent.com/uasi/ec9978d793df35184b33/raw/git-branch-activity.sh
chmod +x /usr/local/bin/git-branch-activity
코드
git-branch-activity.sh
#!/bin/bash
USAGE="\
usage: git branch-activity [-r | -a] [-R] [--no-color]
-r, --remotes List remote-tracking branches
-a, --all List both remote-tracking and local branches
-R, --reverse Reverse list order
--no-color Don't use colored output"
GIT_BRANCH_OPT=
print_branches() {
git branch $GIT_BRANCH_OPT | perl -lne 'print $1 if /^[ *] ?(\S+)/'
}
decorate_branches() {
local use_color=$1
local format
if [[ -n "$use_color" ]]; then
format="format:\e[34m[%ai]\e[m \e[33m%h\e[m" # blue, yellow
else
format="format:[%ai] %h"
fi
local current_branch=$(git symbolic-ref -q --short HEAD)
while read -r br; do
printf "$(git log --date=iso8601 -n 1 --pretty="$format" "$br") "
if [[ -n "$use_color" ]]; then
print_colored_branch "$br" "$current_branch"
else
echo "$br"
fi
done
}
print_colored_branch() {
local branch=$1
local current=$2
local red="\e[31m%s\e[m"
local green="\e[32m%s\e[m"
local format="%s"
case "$GIT_BRANCH_OPT" in
-a)
if [[ "$branch" = remotes/* ]]; then
format=$red
elif [[ "$branch" = "$current" ]]; then
format=$green
fi
;;
-r)
format=$red
;;
*)
if [[ "$branch" = "$current" ]]; then
format=$green
fi
;;
esac
printf "$format\n" "$branch"
}
main() {
local sort_opt=-r
local use_color
if [[ -t 1 ]]; then
use_color=1
fi
while [[ $# > 0 ]]; do
case "$1" in
-a|--all ) GIT_BRANCH_OPT=-a ;;
-r|--remotes) GIT_BRANCH_OPT=-r ;;
-R|--reverse) sort_opt= ;;
--no-color ) use_color= ;;
-h )
echo "$USAGE"
exit
esac
shift
done
print_branches \
| decorate_branches "$use_color" \
| sort $sort_opt
}
main "$@"
Reference
이 문제에 관하여(분기의 마지막 업데이트 날짜를 일람표의git branch-activity로 쓰기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/uasi/items/430f9403ac9b437c0499텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)