今天down到一个git管理的程序,里边居然有好几个branch。
那么,那个才是最后修改的branch呢?
从terminal中一个个的操作每个分支及其commit记录,很是繁琐。
还是用shell做了个脚本listbranches实现遍历,将每个branch的最后提交时间打印出来。
echo ""
echo -e "\033[34mLocal Branches: \033[0m"
for branch in $(git branch|sed 's/*//'); do
if [[ ${branch} != "->" ]]; then
echo -e "\033[31m"${branch}"\033[0m"
echo -e "\033[33m"$(git show --pretty=format:"%ci %cr" "${branch}" | head -n 1)"\033[0m"
fi
done
echo ""
echo -e "\033[34mRemote Branches: \033[0m"
for branch in $(git branch -r|sed 's/*//'); do
if [[ ${branch} != "->" ]]; then
echo -e "\033[31m"${branch}"\033[0m"
echo -e "\033[33m"$(git show --pretty=format:"%ci %cr" "${branch}" | head -n 1)"\033[0m"
fi
done
echo ""
效果如下:
如果将脚本listbranches放到/usr/local/bin下,以后就可以用listbranches来读取任何一个git项目的branch list及commit时间了。