加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 这些电脑需要满足两个条件:
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

Git局域网内仓库搭建

2023/01/18
1274
阅读需 5 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

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 <repo>可以创建一个裸仓库,并且这个仓库是可以被正常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之类的命令了。

相关推荐

电子产业图谱