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存储库的最新版本_Git_Github_Collaboration - Fatal编程技术网

如何为非git合作者维护git存储库的最新版本

如何为非git合作者维护git存储库的最新版本,git,github,collaboration,Git,Github,Collaboration,我有多个贡献者的私有git存储库。我希望在网络驱动器中有最新版本的存储库主分支,这样每个人(包括不使用git的人)都可以访问repo中的工具 我知道这在git钩子中是可能的,但我不确定如何或怎样做才是最好的实践 网络驱动器中的目录应该只是git存储库主目录的一个克隆,如果它被意外修改,那么下次有人提交给主目录时,应该将其清除 编辑:大多数贡献者和合作者都使用Windows。通常,您会设置一个用于侦听推送事件并自动为您更新本地repo的 例如,见(或): 通常,您会设置一个将侦听推送事件并自动为您

我有多个贡献者的私有git存储库。我希望在网络驱动器中有最新版本的存储库主分支,这样每个人(包括不使用git的人)都可以访问repo中的工具

我知道这在git钩子中是可能的,但我不确定如何或怎样做才是最好的实践

网络驱动器中的目录应该只是git存储库主目录的一个克隆,如果它被意外修改,那么下次有人提交给主目录时,应该将其清除

编辑:大多数贡献者和合作者都使用Windows。

通常,您会设置一个用于侦听推送事件并自动为您更新本地repo的

例如,见(或):

通常,您会设置一个将侦听推送事件并自动为您更新本地回购的

例如,见(或):


您需要在推送事件上挂钩(请参阅)。无论何时收到来自此钩子的请求,都可以执行以下操作

git fetch origin
git reset --hard origin/master

这将从“源”存储库获取更新,并将本地“主”分支更改为与远程“主”分支相同的状态。

您需要挂接推送事件(请参阅)。无论何时收到来自此钩子的请求,都可以执行以下操作

git fetch origin
git reset --hard origin/master

这将从“源”存储库获取更新,并将您的本地“主”分支更改为与远程“主”分支相同的状态。

我想知道这是否适用于Windows,因为大多数贡献者都使用没有管理员权限的Windows。当您未连接到网络驱动器所在的网络时,如果尝试推送到github,是否会导致问题。通常情况并非如此,但我不想让其他人收到任何奇怪的错误消息,因为他们使用github桌面客户端的git,并且对git不感兴趣。@Lesenger它工作正常:我在工作时也没有Windows机器的管理员权限。网络路径只是供其他人读取,而不是修改或推送。任何推动都是通过定期的本地回购来完成的。我仍然对Webhook有点困惑。我把这些网钩放在哪里了?GitHub存储库设置有“添加webhook”部分,但它有“有效负载url”、“内容类型”和“机密”字段。我也不太明白webhook命令是以什么方式执行的。有人推动回购后会发生什么?跟我赤裸裸。我对这些服务器端的东西一点也不熟悉。@Lesenger Webhook之所以存在,是因为出于安全原因,GitHub无法在其服务器端执行任何自定义程序。它所能做的(以及通过webhook所做的)是将JSON负载发送到您选择的url,该负载表示与该webhook关联的事件。然后你监听负载并激活你自己的一个程序(你完全可以控制),我想知道这是否适用于Windows,因为大多数贡献者使用的是没有管理员权限的Windows。当您未连接到网络驱动器所在的网络时,如果尝试推送到github,是否会导致问题。通常情况并非如此,但我不想让其他人收到任何奇怪的错误消息,因为他们使用github桌面客户端的git,并且对git不感兴趣。@Lesenger它工作正常:我在工作时也没有Windows机器的管理员权限。网络路径只是供其他人读取,而不是修改或推送。任何推动都是通过定期的本地回购来完成的。我仍然对Webhook有点困惑。我把这些网钩放在哪里了?GitHub存储库设置有“添加webhook”部分,但它有“有效负载url”、“内容类型”和“机密”字段。我也不太明白webhook命令是以什么方式执行的。有人推动回购后会发生什么?跟我赤裸裸。我对这些服务器端的东西一点也不熟悉。@Lesenger Webhook之所以存在,是因为出于安全原因,GitHub无法在其服务器端执行任何自定义程序。它所能做的(以及通过webhook所做的)是将JSON负载发送到您选择的url,该负载表示与该webhook关联的事件。然后,您监听该有效载荷并激活您自己的一个程序(您可以完全控制该程序)
git fetch origin
git reset --hard origin/master