gitup: 批量更新多个 git 代码库的小工具

2042 查看

一直用 Sketch 做设计,Sketch 的插件通常都是从 github 上直接 clone 下来安装的,一个插件对应一个 repo。随着插件越来越多,每次更新都得手动一个个 git pull 很麻烦,于是弄了个 bash 小脚本来批量更新:

#!/bin/sh
for dir in $(ls -d */)
do
  if [ -d "$dir"/.git ]; then
    echo "$dir" && cd "$dir" && git pull && cd ..
  fi
done

小脚本虽然解决了最原始的需求,但是仍然不是很好用。于是在网上又搜刮了一遍发现了 git-repo-updater (简称:gitup) 这个小工具。

用 homebrew 进行安装,很简单执行 brew install gitup 即可安装。

Sketch 的插件都在 <dir>/plugin 目录下,所以我们进入 <dir>/plugin 目录,在该目录下执行 gitup . 即可,终端里会实时显示更新进度,不一会儿就更新完成了,省时省力。


当然,还有更高级的用法:

# 更新 foo, bar, baz 这几个 repo
gitup ~/repos/foo ~/repos/bar ~/repos/baz

# 更新 repos 目录下的所有 repo
gitup ~/repos

你还可以将这些 repo 放进收藏夹:

gitup --add ~/repos/foo ~/repos/bar ~/repos/baz
gitup --add ~/repos

然后运行 gitup(不加任何参数)就行更新收藏夹下的所有 repo。还有一些其他用法:

# 删除收藏夹
gitup --delete ~/repos

# 查看当前收藏夹
gitup --list

嗯,是不是很有用啊,了解更多,请上传送门 https://github.com/earwig/git-repo-updater