Git 如何在不同的驱动器上设置工作目录和本地存储库?
在Git中,如何在不同的驱动器上设置工作目录和本地存储库? 原因是要在每次本地提交时备份代码 我们在“主”存储库上使用了一个网关管理员模型,因此我不能将任何旧垃圾推到上游,但我希望确保每次我进行本地提交时都备份任何旧垃圾 使用Git 如何在不同的驱动器上设置工作目录和本地存储库?,git,backup,Git,Backup,在Git中,如何在不同的驱动器上设置工作目录和本地存储库? 原因是要在每次本地提交时备份代码 我们在“主”存储库上使用了一个网关管理员模型,因此我不能将任何旧垃圾推到上游,但我希望确保每次我进行本地提交时都备份任何旧垃圾 使用git init的--单独的git dir标志 该命令有一个标志: --单独的git目录= 而不是将存储库初始化为 $GIT\u DIR或/.GIT/,在那里创建一个包含路径的文本文件 到实际的存储库。此文件充当文件系统无关的Git 指向存储库的符号链接 例子 对于本例,假
git init
的--单独的git dir
标志
该命令有一个标志:
--单独的git目录=
而不是将存储库初始化为
$GIT\u DIR
或/.GIT/
,在那里创建一个包含路径的文本文件
到实际的存储库。此文件充当文件系统无关的Git
指向存储库的符号链接
例子
对于本例,假设/Volumes/My_USB/
是指向USB驱动器的路径。(/Volumes
特定于Mac OS,但是,除了此路径之外,此示例以简单的方式转换为其他操作系统。)
初始化Git存储库
- 其工作树是当前目录
- 谁的“git目录”是
/Volumes/My\u USB/projectA\u gitdir
git init --separate-git-dir="/Volumes/My_USB/projectA_gitdir"
为了解决问题
- 检查
文件的内容: 如您所见,它只是一个文本文件,包含repo的git目录的路径.git
- 通过运行
您应该注意到,在没有$ git config --local --list
标志的情况下初始化回购时,通常不会出现一行:--单独的git dir
一切都好:)core.worktree=<pwd>
$ git status
fatal: Not a git repository: /Volumes/My_USB/projectA_gitdir
存储库是否已初始化?或者您将要为另一个项目创建一个新项目?
$ ls /Volumes/My_USB/projectA_gitdir
HEAD description info refs
config hooks objects
$ git status
fatal: Not a git repository: /Volumes/My_USB/projectA_gitdir