git - 多个客户端push到同一个远程仓库时,git是如何处理并发问题的?

标签 git concurrency

对于每个 http 请求,一个单独的进程 git-http-backend 在服务器端运行。

当多个客户端推送到同一个远程存储库时,它如何处理并发问题?

比如是否创建锁文件,文件名是什么?

注意:远程仓库是空的。

最佳答案

以与通过 SSH 调用相同的方式 -- 参见 update_ref function in refs.c .锁定机制的实际实现位于 lock_file function in lockfile.c 中。 ,是的,它会在其中创建一个 .lock 文件。在后台,它是通过 open()O_EXCL 选项完成的。

关于git - 多个客户端push到同一个远程仓库时,git是如何处理并发问题的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15674814/

相关文章:

git - 通过凭证管理器使用多个 git 个人访问 token (PAT)

git - 查找文件出现在 git 分支中的日期/时间

Java多线程读取单个大文件

java - 如何限制线程的执行时间并在运行时间过长时将其终止?

c# - 寻找一种允许一个编写器并拒绝其他编写器的框架类

php - Composer : "Warning: You should avoid overwriting already defined auth settings" after changing authentication settings?

GitHub 设置存储库

git:对外部存储库中文件的符号链接(symbolic link)/引用

java - 如何在java中实例化处理程序

不影响性能的Java线程