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ù):
倉(cāng)庫(kù)配置文件修改
修改路徑
進(jìn)入倉(cāng)庫(kù)文件夾路徑下
這句話什么作用呢,這句話只要是解決 非裸倉(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文件,在最下邊添加以下代碼:
cd ..
git checkout -f
#!/bin/sh
unset GIT_DIR
cd ..
git checkout -f
向跟倉(cāng)庫(kù)提交文件
本地倉(cāng)庫(kù)提交
本地的倉(cāng)庫(kù)直接關(guān)聯(lián)增加路徑即可
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)就可以
renameXXX是遠(yuǎn)端倉(cāng)庫(kù)的命名 X:是遠(yuǎn)端倉(cāng)庫(kù)路徑(映射的路徑)
然后就可以使用push pull之類(lèi)的命令了。