默认情况下,我通常运行git init
并将本地存储库放在根目录中。我将项目文件存储和使用在很小的SSD上,但同一台计算机上的BIG OL'SATA HD表现不佳。我当时在想应该将其用于每个项目的实际存储库的实践。
编辑:
我的意思是我具有目录结构:
SMALL-DRIVE>我的项目> .git>存储库文件...
小驱动器>我的项目> src>开发文件...
虽然我想保留第二个,但我想将第一个移到
BIG-DRIVE>存储库>我的项目> .git>存储库文件... (或类似的东西)
一切都停留在同一台计算机上,我推送到的远程存储库将保持不变。
我相信,我可以为新项目传递git init
这个新路径(很确定我可以自己弄清楚),但是有一种方法可以将现有配置更新为使用新路径?如果是这样,是否有一条命令将移动存储库中的当前文件,还是我将手动移动.git目录?
答案 0 :(得分:2)
是的,可以。
选项1(首选):镜像
只需运行以下命令即可镜像存储库:
git clone --mirror git@example.com/upstream-repository.git
cd upstream-repository.git
git push --mirror git@example.com/new-location.git
了解有关镜像here
的更多信息选项2:手动克隆并推送
第一步是将存储库git clone
到本地目录。
然后,您使用git remote add <name> <url>
然后,您只需git push <name> --all
即可将所有内容发送到那里
答案 1 :(得分:2)
[...]有没有办法更新现有配置以使用新路径?
如果我正确理解了您的问题,那么您目前有一个小型但快速的高清存储库,并且您想
.git
目录移至大而慢的HD,我对吗?
在这种情况下,git init --separate-git-dir
就在您的小巷上。引用git init
's man page:
--separate-git-dir=<git dir>
与其将存储库初始化为$GIT_DIR
或./.git/
的目录,不如在其中创建一个包含实际存储库路径的文本文件。此文件充当到存储库的与文件系统无关的Git符号链接。如果这是重新初始化,则存储库将移动到指定的路径。
因此,只需cd
到您的仓库,然后运行
git init --separate-git-dir <desired-location-on-big-and-slow-drive>
我相信,我可以为新项目通过
git init
这个新路径[...]
正确。使用与上面相同的命令。
答案 2 :(得分:0)
git remote add origin git@yourgit.repo
git remote -v