git倉庫是個(gè)存放數(shù)據(jù)的地方,也可以位于局域網(wǎng)內(nèi)。這樣可以滿足不聯(lián)網(wǎng)的電腦在局域網(wǎng)之間進(jìn)行操作。
這些電腦需要滿足兩個(gè)條件:
1 所有電腦都已經(jīng)安裝git工具(最好是同一個(gè)版本)
2 所有電腦可以通過網(wǎng)絡(luò)進(jìn)行連接(可以ping通)
創(chuàng)建倉庫
找一個(gè)存放文件的位置,最好新建一個(gè)文件夾,初始化git倉庫:
倉庫配置文件修改
修改路徑
進(jìn)入倉庫文件夾路徑下
這句話什么作用呢,這句話只要是解決 非裸倉庫 作為 倉庫 的問題
什么叫裸倉庫呢,就是使用如下命令git init --bare 建立的倉庫。
裸倉庫一般是無法直接看到源碼的,所以也就不符合需求了。
詳細(xì)說一下使用 --bare 參數(shù)的含義,使用 --bare 參數(shù)初始化的倉庫,我們一般稱之為裸倉庫, 因?yàn)檫@樣創(chuàng)建的倉庫并不包含 工作區(qū) , ?也就是說,我們并不能在這個(gè)目錄下執(zhí)行我們一般使用的 Git 命令。
那裸倉庫有什么用呢。從裸倉庫 clone 下來的本地倉庫可以進(jìn)行正常的push操作, 但是從一般倉庫 clone 下來的本地倉庫卻不行。 這也正是裸倉庫存在的意義。 裸倉庫一般情況下是作為遠(yuǎn)端的中心倉庫而存在的。使用git init --bare <repo>可以創(chuàng)建一個(gè)裸倉庫,并且這個(gè)倉庫是可以被正常clone和push更新的, 裸倉庫不包含工作區(qū),所以并不會(huì)存在在裸倉庫上直接提交變更的情況。
修改文件
一般倉庫如果要push需要修改文件。
修改根倉庫.git/hooks/post-update.sample文件,在最下邊添加以下代碼:
cd ..
git checkout -f
#!/bin/sh
unset GIT_DIR
cd ..
git checkout -f
向跟倉庫提交文件
本地倉庫提交
本地的倉庫直接關(guān)聯(lián)增加路徑即可
renameXXX是遠(yuǎn)端倉庫的命名 D:xxx是遠(yuǎn)端倉庫路徑(也在本電腦上)
然后就可以使用push pull之類的命令了
局域網(wǎng)內(nèi)其他電腦提交
1 首先將跟倉庫(遠(yuǎn)端倉庫)文件夾共享
右鍵根倉庫目錄—>屬性—>共享—>高級(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)端倉庫的命名 X:是遠(yuǎn)端倉庫路徑(映射的路徑)
然后就可以使用push pull之類的命令了。