1

默认情况下,我通常git init在根目录中运行并拥有本地存储库。我在一个小型 SSD 上存储和处理我的项目文件,但在同一台机器上安装一个 BIG ol' SATA HD 并没有做太多事情。我在想我应该练习将它用于每个项目的实际存储库。


编辑:
我的意思是我有目录结构:

SMALL-DRIVE > 我的项目 > .git > 存储库文件...
SMALL-DRIVE > 我的项目 > src > 开发文件...

虽然我想保持第二个原样,但我想把第一个移到

BIG-DRIVE > repositories > My Project > .git > repository files...(或类似的东西)

一切都在同一台机器上,我推送到的远程存储库不会有任何变化。

相信我可以为新项目传递git init这条新路径(很确定我可以自己弄清楚),但是有没有办法更新现有配置以使用新路径?如果是这样,是否有一个命令可以移动存储库中的当前文件,或者我只是手动移动 .git 目录?

4

3 回答 3

2

是的你可以。

选项 1(首选):镜像

只需运行这些命令来镜像存储库:

git clone --mirror git@example.com/upstream-repository.git
cd upstream-repository.git
git push --mirror git@example.com/new-location.git

在此处查看有关镜像的更多信息

选项 2:手动克隆和推送

第一步是git clone将存储库转到本地目录。

然后,您使用添加一个新的远程存储库git remote add <name> <url>

然后,您可以简单git push <name> --all地将所有内容发送到那里

于 2019-01-15T14:53:15.523 回答
2

[...] 有没有办法更新现有配置以使用新路径?

如果我正确理解你的问题,你目前有一个小而快的高清回购,你想

  • 将 repo 的.git目录移动到大而慢的 HD,
  • 然而,将 repo 的工作树保持在小而快的 HD 上。

我对吗?

在那种情况下,git init --separate-git-dir就在你的小巷里。引用git init的手册页

--separate-git-dir=<git dir> 与其将存储库初始化为$GIT_DIR或的目录,不如在其中./.git/创建一个包含实际存储库路径的文本文件。此文件充当与文件系统无关的 Git 符号链接到存储库。

如果这是重新初始化,则存储库将移动到指定路径。

所以,只需cd到你的仓库,然后运行

git init --separate-git-dir <desired-location-on-big-and-slow-drive>

相信我可以git init为新项目通过这条新路径 [...]

正确的。使用与上面相同的命令。

于 2019-01-15T14:59:48.087 回答
0

将新的远程 git 添加到您的 Git 存储库

git 远程添加来源 git@yourgit.repo

验证新的远程仓库

git 远程 -v

于 2019-01-15T14:54:43.117 回答