Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在同一服务器上同时进行Git拉取&;目录&;使用者_Git_Version Control - Fatal编程技术网

在同一服务器上同时进行Git拉取&;目录&;使用者

在同一服务器上同时进行Git拉取&;目录&;使用者,git,version-control,Git,Version Control,我们有一个所有开发人员都可以访问的暂存服务器。当他们需要时,他们可以更新登台服务器上的单个repo(使用git pull)。登台服务器上只有一个unix用户名(使用部署密钥访问远程服务器)。这样做有问题吗?如果两个或两个以上的用户同时在同一台服务器上与同一个用户获取相同的repo?我认为更大的问题是,您的暂存服务器直接使用git存储库进行部署……我看到了@JiriKremser的可能重复,但在这个问题上没有可信的答案。使用git fetch应该是安全的;一般来说,使用git pull是不正确的。

我们有一个所有开发人员都可以访问的暂存服务器。当他们需要时,他们可以更新登台服务器上的单个repo(使用git pull)。登台服务器上只有一个unix用户名(使用部署密钥访问远程服务器)。这样做有问题吗?如果两个或两个以上的用户同时在同一台服务器上与同一个用户获取相同的repo?

我认为更大的问题是,您的暂存服务器直接使用git存储库进行部署……我看到了@JiriKremser的可能重复,但在这个问题上没有可信的答案。使用
git fetch
应该是安全的;一般来说,使用git pull是不正确的。我不确定是回答这个问题还是链接的问题…:-)这样做没关系。当第一个用户运行git pull时,会在.git中创建一个index.lock,因此其他用户如果运行git pull就会失败。锁定文件将在git pull完成后删除。在某些情况下,中止正在执行的git命令不会正确删除锁文件,这将导致进一步的失败。删除锁文件后就可以了。你可以尝试在一个非常大的回购交易中,git pull需要花费一些时间。