Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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_Repository - Fatal编程技术网

使用git共享远程存储库?

使用git共享远程存储库?,git,repository,Git,Repository,我正在努力掌握git的窍门。我们有一个主要的git存储库,它是我们的主网站,我们从中提取数据,但不能推送到它。我们还为每个开发人员提供了单独的存储库。现在我们想要创建一个存储库,它可以从主存储库中提取,但是可以由少数开发人员推送到 这个场景是两个开发人员正在处理一个项目,他们需要能够共享更改,并且有一个日志记录他们正在做的事情。如何使用git做到这一点?您可以在共享位置(SFTP、HTTP、NetBios共享等)上拥有一个裸露的存储库,这两个开发人员都将使用它 关于如何做到这一点,有很多参考资料

我正在努力掌握git的窍门。我们有一个主要的git存储库,它是我们的主网站,我们从中提取数据,但不能推送到它。我们还为每个开发人员提供了单独的存储库。现在我们想要创建一个存储库,它可以从主存储库中提取,但是可以由少数开发人员推送到


这个场景是两个开发人员正在处理一个项目,他们需要能够共享更改,并且有一个日志记录他们正在做的事情。如何使用git做到这一点?

您可以在共享位置(SFTP、HTTP、NetBios共享等)上拥有一个裸露的存储库,这两个开发人员都将使用它


关于如何做到这一点,有很多参考资料,具体取决于您将选择什么。适当的搜索将为您提供要遵循的步骤(当然,如果您有问题,也可以返回此处)。

您可以使用网络共享并执行以下操作

git克隆--bare

这将把您的集中存储库克隆到您的共享位置,并将其设置为可以接收推送

然后,您只需将其添加到所有开发机器上的遥控器中,即可设置:

git远程添加开发


只要您的两个开发人员都可以写入该目录,您就已经建立了一个共享存储库

如果您想开始限制谁可以对哪些分支执行什么操作,请查看gitolite。

如果两个开发人员在一起工作,您可以创建一个他们都可以访问的新repo(在网络共享或服务器上),或者他们可以访问彼此的repo

您可以将另一个遥控器添加到您的回购中,如下所示:

git remote add frank git@fserver.com:user5/project.git
git remote add john https://user5@jserver.com/user5/project.git
第一个要求有一台名为fserver.com的机器正在运行git守护进程,并且名为user5的人在那里有一个帐户。新的遥控器名为“弗兰克”

第二个要求有一台名为jserver.com的机器通过http托管git,并且名为user5的人在那里有一个帐户。新遥控器的名字叫“约翰”

然后,您可以运行
git fetch frank
从frank的repo获取提交


关于共享更改。

正如@Tigraine所说,您可以使用网络共享,这对于较小的项目来说效果很好。
有在windows共享上创建远程git存储库的分步指南。

也许您应该在主分支上创建一个分支,然后推送合并请求。之后,您将不得不接受合并请求,所有更改都将显示在head(masters)分支中


如我所见,您需要在多个开发人员之间进行一些更改,然后将其推送到repo。因此,在这种情况下,合并请求可能会有所帮助

为什么你不能推进主回购协议?你可以去另一家分行?主要的回购协议是实时的,公司的“指导方针”阻止我们这样做。我们只有对main@Manfred我敢打赌,这是因为它是一个非裸的repository。我们有一个远程repo,以前用于相同的进程,但是设置它的程序员不在这里。我知道这是可能的,只是想弄清楚怎么做