git - 将 git 文件保存在另一个文件夹中

标签 git

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

此外,为了更进一步,我可以将 .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 命令上使用 --git-dir 命令行参数:

git --gir-dir=~/b status

参见 this article about git environment variables

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

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

关于git - 将 git 文件保存在另一个文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17391904/

相关文章:

git - 是否可以不留痕迹地改写历史?

Git - 我在哪里可以找到实现 .gitignore 的源代码

git 状态给我一个错误 : bad index file sha1 signature

javascript - 为什么在 CentOS 上抓包时 `yarn install` 挂起?

git - 如何让 VSCode Gutters 显示与上游的差异

git - 同一个触发器的多个 git 钩子(Hook)

git - 无法查找 git(不支持 servname)

ruby-on-rails - 有没有办法在我的生产机器上设置 Git 存储库而不保存历史记录?

svn - 对 git merge 使用单独的提交消息是否更好?

git - 你如何在提示符 "Please enter a commit message to explain why this merge is necessary."中止 git merge