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

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

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

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

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

這些電腦需要滿足兩個(gè)條件:

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

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

創(chuàng)建倉(cāng)庫(kù)

找一個(gè)存放文件的位置,最好新建一個(gè)文件夾,初始化git倉(cāng)庫(kù):

git init

倉(cāng)庫(kù)配置文件修改

修改路徑

進(jìn)入倉(cāng)庫(kù)文件夾路徑下

git config--global receive.denyCurrentBranch ignore
這句話什么作用呢,這句話只要是解決 非裸倉(cāng)庫(kù) 作為 倉(cāng)庫(kù) 的問(wèn)題

什么叫裸倉(cāng)庫(kù)呢,就是使用如下命令git init --bare 建立的倉(cāng)庫(kù)。

裸倉(cāng)庫(kù)一般是無(wú)法直接看到源碼的,所以也就不符合需求了。

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

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

修改文件

一般倉(cāng)庫(kù)如果要push需要修改文件。

修改根倉(cāng)庫(kù).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

向跟倉(cāng)庫(kù)提交文件

本地倉(cāng)庫(kù)提交

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

git remote add renameXXX D:xxx
renameXXX是遠(yuǎn)端倉(cāng)庫(kù)的命名 D:xxx是遠(yuǎn)端倉(cāng)庫(kù)路徑(也在本電腦上)

然后就可以使用push pull之類(lèi)的命令了

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

1 首先將跟倉(cāng)庫(kù)(遠(yuǎn)端倉(cāng)庫(kù))文件夾共享

右鍵根倉(cāng)庫(kù)目錄—>屬性—>共享—>高級(jí)共享—->勾選共享此文件夾

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

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

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

git remote add renameXXX X:
renameXXX是遠(yuǎn)端倉(cāng)庫(kù)的命名 X:是遠(yuǎn)端倉(cāng)庫(kù)路徑(映射的路徑)

然后就可以使用push pull之類(lèi)的命令了。

相關(guān)推薦

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