加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 這些電腦需要滿足兩個條件:
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

Git局域網(wǎng)內(nèi)倉庫搭建

2023/01/18
1175
閱讀需 5 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

git倉庫是個存放數(shù)據(jù)的地方,也可以位于局域網(wǎng)內(nèi)。這樣可以滿足不聯(lián)網(wǎng)的電腦在局域網(wǎng)之間進行操作。

這些電腦需要滿足兩個條件:

1 所有電腦都已經(jīng)安裝git工具(最好是同一個版本)

2 所有電腦可以通過網(wǎng)絡(luò)進行連接(可以ping通)

創(chuàng)建倉庫

找一個存放文件的位置,最好新建一個文件夾,初始化git倉庫:

git init

倉庫配置文件修改

修改路徑

進入倉庫文件夾路徑下

git config--global receive.denyCurrentBranch ignore
這句話什么作用呢,這句話只要是解決 非裸倉庫 作為 倉庫 的問題

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

裸倉庫一般是無法直接看到源碼的,所以也就不符合需求了。

詳細說一下使用 --bare 參數(shù)的含義,使用 --bare 參數(shù)初始化的倉庫,我們一般稱之為裸倉庫, 因為這樣創(chuàng)建的倉庫并不包含 工作區(qū) , ?也就是說,我們并不能在這個目錄下執(zhí)行我們一般使用的 Git 命令。

那裸倉庫有什么用呢。從裸倉庫 clone 下來的本地倉庫可以進行正常的push操作, 但是從一般倉庫 clone 下來的本地倉庫卻不行。 這也正是裸倉庫存在的意義。 裸倉庫一般情況下是作為遠端的中心倉庫而存在的。使用git init --bare <repo>可以創(chuàng)建一個裸倉庫,并且這個倉庫是可以被正常clone和push更新的, 裸倉庫不包含工作區(qū),所以并不會存在在裸倉庫上直接提交變更的情況。

修改文件

一般倉庫如果要push需要修改文件。

修改根倉庫.git/hooks/post-update.sample文件,在最下邊添加以下代碼:

unset GIT_DIR
cd ..
git checkout -f
將該文件后綴刪除,變?yōu)閜ost-update,post-update文件內(nèi)容如下:
#!/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

向跟倉庫提交文件

本地倉庫提交

本地的倉庫直接關(guān)聯(lián)增加路徑即可

git remote add renameXXX D:xxx
renameXXX是遠端倉庫的命名 D:xxx是遠端倉庫路徑(也在本電腦上)

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

局域網(wǎng)內(nèi)其他電腦提交

1 首先將跟倉庫(遠端倉庫)文件夾共享

右鍵根倉庫目錄—>屬性—>共享—>高級共享—->勾選共享此文件夾

2 局域網(wǎng)內(nèi)其他電腦進行網(wǎng)絡(luò)映射

右鍵計算機—>映射網(wǎng)絡(luò)驅(qū)動器

映射之后使用映射路徑進行關(guān)聯(lián)就可以

git remote add renameXXX X:
renameXXX是遠端倉庫的命名 X:是遠端倉庫路徑(映射的路徑)

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

相關(guān)推薦

電子產(chǎn)業(yè)圖譜