6

如何设置 git 来跟踪文件夹中的文件~/a,但将文件夹存储在.git文件夹中~/b

另外,为了更进一步(巨大的)一步,我可以将.git文件夹保留在另一台服务器上并git从服务器运行命令a以检查git st例如,在服务器上b吗?

基本上,我希望能够在某个文件夹上使用 git 而无需将.git目录保留在同一个文件夹中。对于我上面的第二个问题,我想更进一步,甚至不将.git目录保留在同一台服务器上

谢谢!

4

2 回答 2

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

请参阅这篇关于 git 环境变量的文章

关于将 Git 存储库目录放在另一台服务器上:好吧,只要您已从该服务器挂载文件系统并具有适当的权限,那应该可以正常工作。在本地目录上运行的 git 命令主要关心访问文件系统,因此只要它有效,它们就可以工作。

(澄清一下:上面我假设~/b git 目录,如果.git是 的子目录~/b,你应该~/b/.git改用)

于 2013-06-30T15:25:08.330 回答
2

另一种方法:您可以指定.git文件中文件夹的真实路径,并将操作重定向到它。

例如,创建一个文本文件 A/.git并用

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

然后你可以在 A 中有一个工作树,它使用.gitB 中的文件夹。

顺便说一句,这也是如何git submodule工作的。

于 2013-06-30T15:53:50.190 回答