git - 定期 git fetch 的副作用

标签 git networking server

假设我有这样的代码:

git fetch &&  git diff origin origin/master --quiet || echo "untracked"

我希望它定期运行。比方说,每秒一次,或每五秒一次,依此类推。

如果此代码输出“untracked”,或者换句话说,如果远程有更新,我将运行 git pull 来更新本地代码。

问题是:做这样的事情不好吗?我的意思是,我知道这将是对远程服务器的持续请求。但是,不好吗?除此之外,还有其他副作用吗?非常感谢。

最佳答案

如果执行得太频繁,除了会使其他命令失败之外,常规提取的主要缺点是 push --force-with-lease .

我在“ push --force-with-lease by default”中记录了同样多的内容

--force-with-lease or --force-with-lease=<refname> interacts very badly with anything that implicitly runs git fetch on the remote to be pushed to in the background, e.g. git fetch origin on your repository in a cronjob.

The protection it offers over --force is ensuring that subsequent changes your work wasn't based on aren't clobbered, but this is trivially defeated if some background process is updating refs in the background.

关于git - 定期 git fetch 的副作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49948894/

相关文章:

git - 为什么 git 无法在 Yosemite 中读取我的证书文件?

git - SourceTree 不断询问 Github 密码

networking - 连接到专用网络上的服务器

networking - 安装 Docker 后无法 ssh 到机器

java - Android 客户端 - Java 服务器和 Tor 流量

go - 拆分客户端/服务器代码

git - 如何运行 git pre-commit Hook 以强制暂存文件的测试覆盖率不会降低?

git - code.google.com : git: fatal: remote error: Repository not found

java - 如何打开使用 'ip tuntap' 创建的 tun 设备

c - C 中的套接字连接错误