2013-06-30 119 views
6

如何設置git來跟蹤文件夾~/a中的文件,但將.git文件夾存儲在文件夾~/b中?將git文件保存在另一個文件夾中

此外,採取這一個(巨大)一步,我可以保持.git文件夾中另一臺服務器上運行,並從服務器agit命令檢查git st例如,在服務器b

基本上,我想能夠在某個文件夾上使用git,而不需要將.git目錄保存在同一個文件夾中。對於我上面的第二個問題,我想進一步通過甚至沒有保持.git目錄在同一服務器

謝謝!

回答

7

設置GIT_DIR環境變量。

在bash:

export GIT_DIR=~/b 

,或者在PowerShell中:

Set-Item env:GIT_DIR $env:HOME\b 

或者您可以使用--git-dir命令行參數上的所有git命令:

git --gir-dir=~/b status 

this article about git environment variables

關於將Git存儲庫目錄放在另一臺服務器上:好吧,只要您已經從該服務器掛載了文件系統並具有適當的權限,那應該可以正常工作。在本地目錄上運行的git命令主要關心訪問文件系統,所以只要這些命令有效,它們就會工作。

(澄清:上面我假設~/b git的目錄,如果.git~/b子目錄,你應該使用~/b/.git代替)

2

的另一種方法:你可以指定.git真實路徑文件夾中的文件夾,並將操作重定向到它。

例如,創建一個文本文件A/.git

gitdir: B/.git    # assume B is a non-bare repo 

填補它,那麼你可以在一個工作樹,它採用.git文件夾中B.

順便說一句,這也是git submodule如何工作。

相關問題