如何设置 git 来跟踪文件夹中的文件~/a,但将文件夹存储在.git文件夹中~/b?
另外,为了更进一步(巨大的)一步,我可以将.git文件夹保留在另一台服务器上并git从服务器运行命令a以检查git st例如,在服务器上b吗?
基本上,我希望能够在某个文件夹上使用 git 而无需将.git目录保留在同一个文件夹中。对于我上面的第二个问题,我想更进一步,甚至不将.git目录保留在同一台服务器上
谢谢!
如何设置 git 来跟踪文件夹中的文件~/a,但将文件夹存储在.git文件夹中~/b?
另外,为了更进一步(巨大的)一步,我可以将.git文件夹保留在另一台服务器上并git从服务器运行命令a以检查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
关于将 Git 存储库目录放在另一台服务器上:好吧,只要您已从该服务器挂载文件系统并具有适当的权限,那应该可以正常工作。在本地目录上运行的 git 命令主要关心访问文件系统,因此只要它有效,它们就可以工作。
(澄清一下:上面我假设~/b 是git 目录,如果.git是 的子目录~/b,你应该~/b/.git改用)
另一种方法:您可以指定.git文件中文件夹的真实路径,并将操作重定向到它。
例如,创建一个文本文件 A/.git并用
gitdir: B/.git # assume B is a non-bare repo
然后你可以在 A 中有一个工作树,它使用.gitB 中的文件夹。
顺便说一句,这也是如何git submodule工作的。