Git本地遠程倉庫的搭建(windows 7專業版)
你是否也這樣想過?可以在自己的兩臺或者多臺電腦中創建一個倉庫,其他電腦的文件或者代碼都可以push到這臺機器中的git倉庫進行版本管理,相當於有一個自己的git遠程倉庫。
具體的功能可以這樣理解:
1.功能需求
1)創建根倉庫(總得倉庫,比如本機D盤)裏文件可見。
2)本地倉庫(C盤倉庫)可關聯根倉庫(D盤倉庫)並提交。
3)局域網其他機器可訪問根倉庫並可向根倉庫提交。
2.準備環境
1)兩臺機器都安裝了git。
2)兩臺機器可以ping通。
3.功能實現
1) 根倉庫的搭建
找好要存放的根倉庫目錄,比如容量比較大的硬盤D,移動硬盤也可以(相當於一個移動倉庫,我沒有試過,原理上可行)。
在要做爲倉庫的目錄(如D:\AllGitRepository)下執行以下命令創建倉庫:
D:\AllGitRepository>git init
Initialized empty Git repository in D:/AllGitRepository/.git/12
這樣,本地的根倉庫就搭建好了。
//不創建裸倉庫,因爲看不到文件。
2).本地倉庫(C盤倉庫)可關聯根倉庫(D盤倉庫)並提交
重點來了。
先在C盤創建一個測試目錄gitTest,執行以下命令。
::創建文件。
C:\Users\gitTest>type null > a.txt
C:\Users\gitTest>dir
C:\Users\gitTest 的目錄
2018/07/09 14:45 <DIR> .
2018/07/09 14:45 <DIR> ..
2018/07/09 14:45 <DIR> a.txt
::創建本地倉庫。
C:\Users\gitTest>git init
Initialized empty Git repository in C:/Users/gitTest/.git/
C:\Users\gitTest>git add .
::提交到本地倉庫。
C:\Users\gitTest>git commit -m "test"
[master (root-commit) 41bf91e] test
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a.txt
::關聯根倉庫(D盤根倉庫)
C:\Users\gitTest>git remote add rootRep D:\AllGitRepository\12345678910111213141516171819202122
在根倉庫(D盤目錄)下執行以下命令:
D:\AllGitRepository>git config --global receive.denyCurrentBranch ignore1
修改根倉庫.git/hooks/post-update.sample文件,在最下邊添加以下代碼:
unset GIT_DIR
cd ..
git checkout -f123
將該文件後綴刪除,變爲post-update,post-update文件內容如下:
之後就可以在C盤的倉庫中做提交了:
C:\Users\gitTest>git push -u rootRep master
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 610 bytes | 0 bytes/s, done.
Total 5 (delta 0), reused 0 (delta 0)
To D:\AllGitRepository\
41bf91e..03de5cf master -> master
Branch master set up to track remote branch master from rootRep.123456789
遠程倉庫和本地倉庫就關聯好了。之間可以push和pull。
前邊只是示例,真實環境下我們已經有了本地的倉庫,裏邊還有不少的代碼,比如我有以下一個工程:
我不會可能將文件都push到根倉庫的根路徑下,因爲根倉庫不只會有這一個文件,我們可以在跟倉庫下創建一個管理該項目的文件夾並創建倉庫,該倉庫作爲本地倉庫的遠程倉庫,然後像上邊一樣配置倉庫(修改post-update文件)就可以push了。在根倉庫中對所有的倉庫進行統一管理。
3).局域網其他機器訪問根倉庫並向根倉庫提交。
其他機器訪問根倉庫,只需要將根倉庫文件夾共享就可以(添加密碼驗證)。
將根倉庫共享。
a.右鍵根倉庫目錄—>屬性—>共享—>高級共享—->勾選共享此文件夾—->權限如下:
b.在另一臺機器上右鍵計算機—>映射網絡驅動器:
輸入根倉庫地址比如:
//如果需要輸入密碼,輸入另一臺電腦的登錄密碼。
遠程提交:
上述步驟將根倉庫的地址映射爲了X:\所以我們只需要將遠程倉庫關聯到X:\目錄下就可以了。其他步驟和本地一樣。
這樣實現了開頭所要的功能。
————————————————
版權聲明:本文爲CSDN博主「寂書萬卷」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/github_36878269/article/details/80967388