是否有办法 git pull ,直到有东西要拉。
说我等着同事推动他的最新变化,因为我不耐烦而不看他的屏幕,我只是运行观看git pull 直到我看到一些东西被拉了,但我可能会错过这一刻,浪费的时间多于必要的时间。 (注意:是的,这是一个非常小的不便,但仍然带来不便:))
git pull 似乎没有不同的返回值,无论它是否真的拉了一些东西,但也许有一些我不知道的模糊,无证的选项?
修改 谢谢你的答案,我把它添加到我的.zshrc:
alias gitpullwait="git pull | grep "Already up-to-date" > /dev/null; while [ $? -ne 1 ]; do git pull | grep "Already up-to-date" > /dev/null; done; notify-send Pull f$
它看起来很丑,但对我有用。
答案 0 :(得分:1)
通常的方法是让一个本地监听器检测到webhook(在服务器端设置)。
该webhook将发送一个JSON payload,本地监听者可以解释并采取行动。
我提到的链接是GitHub仓库,BitBucket有自己的版本(POST hook)。
对于私人服务器,您需要设置一个后接收挂钩,以便向您的工作站发送一条JSON消息,指示最新推送。
答案 1 :(得分:1)
根据您的具体情况,有几种方法可以解决这个问题:
如果您有权访问远程repos服务器,我建议选项#2。请记住,除非您希望此行为发生始终,否则您将需要删除该挂钩。
答案 2 :(得分:1)
你可以将git输出管道输出到awk / grep,以查找在非空拉动时打印的消息,然后使用notify-send在桌面上刷新通知消息。
此外,我建议不要使用脚本执行git pull,而是使用脚本执行git fetch,然后手动合并,这样就不会出现意外的合并问题。