是否有一个指示器可以监视 git 存储库并在提交、推送等时获取通知?
搜索“指标 ubuntu git watch 存储库”向我发送了很多托管在 github 上的指标……找不到任何有用的东西……
答案1
我认为你想要的是 git-dude。
git-dude
https://github.com/sickill/git-dude
git-dude 是一个简单的 git 桌面通知程序。它监控当前目录中的 git 存储库是否有新的提交/分支/标签,并在有新内容到达时显示桌面通知。
怎么运行的
它只是使用git fetch
并解析其输出以查看发生了什么变化。然后它使用/ (Linux) 或(OSX) 格式化新的提交消息并git log
使用 / 显示桌面通知 。所有这些都无限循环。notify-send
kdialog
growlnotify
看起来怎么样
Fedora(Gnome-Shell):
乌本图:
要求
在 Linux 上:
notify-send
在 Gnome 上(Fedora:通知库软件包,Ubuntu:libnotify-bin包裹)kdialog
在 KDE 上(包含在 KDE 中)
在OSX上:
growlnotify
, 从咆哮附加功能 (自制:发出咆哮通知包裹)
安装
$ curl -skL https://github.com/sickill/git-dude/raw/master/git-dude >~/bin/git-dude
$ chmod +x ~/bin/git-dude
* 确保~/bin
它在您的$PATH
或将git-dude
脚本放在您的其他地方$PATH
。
用法
git-dude 迭代位于其内部的存储库哥们目录。此目录只不过是您要监视的项目的克隆存储库的容器。您可以随意命名它,例如,在这里我们使用 〜/.git-dude:
$ mkdir ~/.git-dude
$ cd ~/.git-dude
克隆一些存储库:
$ git clone --mirror https://github.com/joelthelion/autojump.git
$ git clone --mirror git://github.com/pyromaniac/hoof.git
我建议git clone --mirror
- 它不会检出工作目录,因此可以为更大的项目节省一些磁盘空间。
符号链接存储库也有效。这样您就可以监视已克隆的项目:
$ ln -s ~/code/tmuxinator .
现在运行这个来监控密码:
$ git dude
您还可以传递目录名称作为第一个参数来指定要监视的目录,而不是密码。
$ git dude ~/watched-repos
这样你就可以有多个兄弟目录每个都由单独的 git-dude 进程监控。
配置
全球的
设置 git-dude 检查更改的频率(以秒为单位,默认值:60):
$ git config --global dude.interval 30
设置桌面通知使用的图标路径(默认值:无):
$ git config --global dude.icon ~/.git-dude/github_32.png
设置自定义通知命令($TITLE
,$DESCRIPTION
并$ICON_PATH
在调用通知命令时设置环境变量):
$ git config --global dude.notify-command 'gntp-send "$TITLE" "$DESCRIPTION" "$ICON_PATH"'
$ git config --global dude.notify-command 'echo -e "$TITLE\n\n\n$DESCRIPTION" | espeak --stdin -k20 -ven+12'
每个存储库
设置此存储库的桌面通知使用的图标路径(默认值:从全局设置中获取):
$ git config dude.icon ~/.git-dude/dm-core/datamapper.png
告诉 git-dude 忽略特定的存储库(如果你想取消监控它):
$ git config dude.ignore true
作者
马辛·库里克(http://ku1ik.com/|@sickill)
要跟踪通知,请使用近期通知指示器。
在终端运行:
sudo add-apt-repository ppa:jconti/recent-notifications
sudo apt-get update
sudo apt-get install indicator-notifications
安装后运行Alt+ F2 unity --replace
。
您会在面板中发现一个小邮箱: ]
答案2
我编写了一个小型 Python 程序,可以满足您的要求。但它还不够完善,如果您能提供任何反馈,我将不胜感激。
要使用它,请从包含一个或多个 git 存储库的目录运行 git-indicator(就像使用 git-dude 一样)。
例子:
~$ git clone https://github.com/itsadok/git-indicator.git ~/.git-indicator
~$ cd ~/repos
~/repos$ ls
repo1 repo2 repo3
~/repos$ ~/.git-indicator/git-indicator.py &