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 --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文件,在最下邊添加以下代碼:
cd ..
git checkout -f
#!/bin/sh
unset GIT_DIR
cd ..
git checkout -f
向跟倉庫提交文件
本地倉庫提交
本地的倉庫直接關(guān)聯(lián)增加路徑即可
renameXXX是遠端倉庫的命名 D:xxx是遠端倉庫路徑(也在本電腦上)
然后就可以使用push pull之類的命令了
局域網(wǎng)內(nèi)其他電腦提交
1 首先將跟倉庫(遠端倉庫)文件夾共享
右鍵根倉庫目錄—>屬性—>共享—>高級共享—->勾選共享此文件夾
2 局域網(wǎng)內(nèi)其他電腦進行網(wǎng)絡(luò)映射
映射之后使用映射路徑進行關(guān)聯(lián)就可以
renameXXX是遠端倉庫的命名 X:是遠端倉庫路徑(映射的路徑)
然后就可以使用push pull之類的命令了。