Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.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 - Fatal编程技术网

Git-将现有网络回购协议用作;服务器";

Git-将现有网络回购协议用作;服务器";,git,Git,我将git用于网络目标(\\server1\…)上的所有repo。 这是唯一存储所有数据的地方。 如果我改变了什么,我会做一个承诺。就这样。 这没关系,因为我是唯一的编码员 现在,我们是三个编码员。我想将当前的repo用作远程repo,每个编码者都可以将其克隆到自己的网络路径(我们不在本地工作) 这可能吗?如果是,该怎么办? 如果我克隆了一个回购协议(使用GitKraken),我就无法推动提交。 我总是会遇到类似“推送失败-本地推送不支持推送非裸回购”的错误 我能做什么 提前谢谢 如错误消息所示

我将git用于网络目标(\\server1\…)上的所有repo。 这是唯一存储所有数据的地方。 如果我改变了什么,我会做一个承诺。就这样。 这没关系,因为我是唯一的编码员

现在,我们是三个编码员。我想将当前的repo用作远程repo,每个编码者都可以将其克隆到自己的网络路径(我们不在本地工作)

这可能吗?如果是,该怎么办? 如果我克隆了一个回购协议(使用GitKraken),我就无法推动提交。 我总是会遇到类似“推送失败-本地推送不支持推送非裸回购”的错误

我能做什么


提前谢谢

如错误消息所示,您必须将您的中央存储库设置为裸存储库

Do
git clone--bare
将下面的回购协议克隆到一个裸机

裸存储库是没有工作目录的存储库。这是有道理的,否则推送到该目录可能会覆盖工作目录中的更改


另请参见

如错误消息所示,您必须将中央存储库设置为裸存储库

Do
git clone--bare
将下面的回购协议克隆到一个裸机

裸存储库是没有工作目录的存储库。这是有道理的,否则推送到该目录可能会覆盖工作目录中的更改


另请参见

如果您有与服务器共享不同的本地PC存储,则可以使用多路视图

在我的工作中,我有一个漫游“home drive”,所以它既在我的本地C:上,也在我个人的某个隐藏漫游商店上。我还可以访问project share drive,在那里我托管了public view repo,该repo已签出“master”及其自己的.git sub dir存储库

我在本地使用自己的回购协议,直到我有东西要“发布”。我将服务器repo作为远程服务器,可以将我的更改推送到我选择的名称空间分支(但不是主分支,因为它已签出!)

然后,我形象地关闭我的repo(在我的例子中,我有一个gitgui视图),并交换访问服务器repo。该服务器repo也有我自己的远程帐户,因此我可以将刚刚完成的工作拉到一个功能分支,然后,如果合适的话,将其合并。然后,我可以关闭对服务器repo的访问,让master像以前一样签出


最难的一点是坚持社交编码指南,即始终将服务器留在主服务器上,并快速切换,从而最大限度地减少任何访问竞争。

如果您有与服务器共享不同的本地PC存储,则可以使用多路视图

在我的工作中,我有一个漫游“home drive”,所以它既在我的本地C:上,也在我个人的某个隐藏漫游商店上。我还可以访问project share drive,在那里我托管了public view repo,该repo已签出“master”及其自己的.git sub dir存储库

我在本地使用自己的回购协议,直到我有东西要“发布”。我将服务器repo作为远程服务器,可以将我的更改推送到我选择的名称空间分支(但不是主分支,因为它已签出!)

然后,我形象地关闭我的repo(在我的例子中,我有一个gitgui视图),并交换访问服务器repo。该服务器repo也有我自己的远程帐户,因此我可以将刚刚完成的工作拉到一个功能分支,然后,如果合适的话,将其合并。然后,我可以关闭对服务器repo的访问,让master像以前一样签出


最难的一点是遵守社交编码指南,即始终将服务器留在主服务器上,并快速切换,从而最大限度地减少访问竞争。

谢谢您的回答。当前回购不应是工作目录。新的、克隆的repo应该是工作目录。那么,我必须将当前的存储库设置为裸存储库还是克隆存储库?所有开发人员用来同步其工作的“中心”存储库应该是裸存储库。因此,您可能希望将当前的回购协议变成裸回购协议。附带说明:即使您单独工作,我也不会建议将工作目录放在网络共享上。始终使用共享作为裸回购,并将您的工作目录作为本地副本。好的,谢谢,我将尝试这个。请注意:我知道,但不允许这样做(公司政策):-(谢谢你的回答。当前回购不应该是工作目录。新的、克隆的回购应该是工作目录。所以我必须将当前的回购设置为裸目录还是克隆目录?你的“中心目录”所有开发人员用于同步其工作的存储库都应该是裸存储库。因此,您可能希望将当前的repo设置为裸存储库。附带说明:即使您单独工作,我也不会建议将工作目录设置为网络共享。始终将共享用作裸存储库,并将您的工作目录设置为本地目录收到。好的,谢谢,我试试这个。请注意:我知道,但不允许这样做(公司政策):-(