首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Git局域网内仓库搭建

git仓库是个存放数据的地方,也可以位于局域网内。这样可以满足不联网的电脑在局域网之间进行操作。

这些电脑需要满足两个条件:

1 所有电脑都已经安装git工具(最好是同一个版本)

2 所有电脑可以通过网络进行连接(可以ping通)

创建仓库

找一个存放文件的位置,最好新建一个文件夹,初始化git仓库:

git init

仓库配置文件修改

修改路径

进入仓库文件夹路径下

git config--global receive.denyCurrentBranch ignore

这句话什么作用呢,这句话只要是解决 非裸仓库 作为 仓库 的问题

这句话什么作用呢,这句话只要是解决 非裸仓库 作为 仓库 的问题

什么叫裸仓库呢,就是使用如下命令git init --bare 建立的仓库。

裸仓库一般是无法直接看到源码的,所以也就不符合需求了。

详细说一下使用 --bare 参数的含义,使用 --bare 参数初始化的仓库,我们一般称之为裸仓库, 因为这样创建的仓库并不包含 工作区 ,  也就是说,我们并不能在这个目录下执行我们一般使用的 Git 命令。

那裸仓库有什么用呢。从裸仓库 clone 下来的本地仓库可以进行正常的push操作, 但是从一般仓库 clone 下来的本地仓库却不行。 这也正是裸仓库存在的意义。 裸仓库一般情况下是作为远端的中心仓库而存在的。使用git init --bare 可以创建一个裸仓库,并且这个仓库是可以被正常clone和push更新的, 裸仓库不包含工作区,所以并不会存在在裸仓库上直接提交变更的情况。

修改文件

一般仓库如果要push需要修改文件。

修改根仓库.git/hooks/post-update.sample文件,在最下边添加以下代码:

unset GIT_DIR

cd ..

git checkout -f

将该文件后缀删除,变为post-update,post-update文件内容如下:

#!/bin/sh

#

# An example hook script to prepare a packed repository for use over

# dumb transports.

#

# To enable this hook, rename this file to "post-update".

#exec git update-server-info

unset GIT_DIR

cd ..

git checkout -f

向跟仓库提交文件

本地仓库提交

本地的仓库直接关联增加路径即可

git remote add renameXXX D:\xxx\

renameXXX是远端仓库的命名 D:\xxx\是远端仓库路径(也在本电脑上)

然后就可以使用push pull之类的命令了

局域网内其他电脑提交

1 首先将跟仓库(远端仓库)文件夹共享

右键根仓库目录—>属性—>共享—>高级共享—->勾选共享此文件夹

2 局域网内其他电脑进行网络映射

右键计算机—>映射网络驱动器

映射之后使用映射路径进行关联就可以

git remote add renameXXX X:\

renameXXX是远端仓库的命名 X:\是远端仓库路径(映射的路径)

然后就可以使用push pull之类的命令了。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230116A03QE100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券