如何設置git來跟蹤文件夾~/a
中的文件,但將.git
文件夾存儲在文件夾~/b
中?將git文件保存在另一個文件夾中
此外,採取這一個(巨大)一步,我可以保持.git
文件夾中另一臺服務器上運行,並從服務器a
git
命令檢查git st
例如,在服務器b
?
基本上,我想能夠在某個文件夾上使用git,而不需要將.git
目錄保存在同一個文件夾中。對於我上面的第二個問題,我想進一步通過甚至沒有保持.git
目錄在同一服務器
謝謝!
如何設置git來跟蹤文件夾~/a
中的文件,但將.git
文件夾存儲在文件夾~/b
中?將git文件保存在另一個文件夾中
此外,採取這一個(巨大)一步,我可以保持.git
文件夾中另一臺服務器上運行,並從服務器a
git
命令檢查git st
例如,在服務器b
?
基本上,我想能夠在某個文件夾上使用git,而不需要將.git
目錄保存在同一個文件夾中。對於我上面的第二個問題,我想進一步通過甚至沒有保持.git
目錄在同一服務器
謝謝!
設置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
代替)
的另一種方法:你可以指定.git
真實路徑文件夾中的文件夾,並將操作重定向到它。
例如,創建一個文本文件A/.git
與
gitdir: B/.git # assume B is a non-bare repo
填補它,那麼你可以在一個工作樹,它採用.git
文件夾中B.
順便說一句,這也是git submodule
如何工作。