假设我有这样的代码:
git fetch && git diff origin origin/master --quiet || echo "untracked"
我想让它定期运行。让我们说,每秒一次,或每五秒钟一次,依此类推。
如果此代码输出“未跟踪”,或者换句话说,如果遥控器上有更新,我将运行git pull
来更新本地代码。
问题是:做这样的事情不好吗?我的意思是,我知道这将是远程服务器上的常量请求。但是,这不好吗?除此之外,还有其他副作用吗?非常感谢你。
答案 0 :(得分:2)
如果经常执行其他命令失败,那么常规提取的主要缺点在于push --force-with-lease
。
我在“push --force-with-lease
by default”
--force-with-lease
或--force-with-lease=<refname>
与在遥控器上隐式运行git fetch
以在后台推送到的任何内容进行非常糟糕的交互,例如在{cronjob中的存储库中git fetch origin
。它提供的保护优于
--force
,确保您的工作所依据的后续更改不会受到破坏,但如果某些后台进程在后台更新引用,这将被轻易打败。