gpt4 book ai didi

git - 如何从现有项目在本地主机上设置裸 git 存储库?

转载 作者:太空狗 更新时间:2023-10-29 14:16:40 26 4
gpt4 key购买 nike

我有一个正在处理的新项目,我已经为这个项目/目录创建了一个 git 存储库。该项目在我办公室的机器上,它始终在运行并且可以访问。现在我想从中创建一个裸存储库,我可以将其用作“服务器”,通过 ssh 从我的家用计算机复制/复制到家用计算机。我试过了

git clone --bare project project.git

它从我的工作目录创建了一个裸仓库,但没有远程或分支设置到新的裸仓库。但是当我切换到新的 repo 时

git remote -v

给我

origin /home/auron/project (fetch)
origin /home/auron/project (push)

这基本上与我想要的相反。我怎样才能达到我想要的?

最佳答案

[git clone --bare] created a bare repository from my working directory but there are no remotes or branches set to [make the original Git use] the new bare repo ...

这很正常。

当您进行克隆时,您的 Git 会记住它从哪里克隆的。它根本不修改;它会创建一个新的存储库,或多或少就像您运行以下命令序列一样:

mkdir new-repo.git
cd new-repo.git
git init <flags>
git remote add origin <url>
...

(其中 <flags> 代表 --bare 标志,<url> 代表您从中克隆的 URL)。

如果你想影响一些现有的仓库:

cd existing-repository
git remote add <name> <url>

哪里<name>是您要使用的名称——可能是 origin ,例如——和 <url>是您要与该名称相关联的 URL。

请注意,这只是添加了一个名称,而没有首先联系给定的 URL 以查看给定的 URL 是否有 Git。所以如果你在这里有错字,你的下一个 git fetch当它尝试使用 URL 时将会失败。

另请注意,当您制作初始裸克隆时,您可能需要使用 --mirror选项,如果您从中克隆的源有多个分支。您可能想也可能不想运行 git remote remove origin 之后的裸克隆中,从克隆中删除它来自哪里的内存。 (在正常操作中,记住是无害的,但是 (a) 如果您使用了 --mirror 并且 (b) 有人试图在裸克隆中运行 git fetch ,这可能很糟糕。)

关于git - 如何从现有项目在本地主机上设置裸 git 存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51580353/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com