繁体   English   中英

如何在现有项目的localhost上设置裸git存储库?

[英]How to setup bare git repository on localhost from existing project?

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

git clone --bare project project.git

它从我的工作目录中创建了一个裸存储库,但是没有将新的存储库或分支设置为新的裸存储库。 但是当我切换到新的回购时

git remote -v

给我

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

这基本上只是我想要的另一种方式。 我怎样才能实现我的目标?

[ git clone --bare ]从我的工作目录创建了一个裸存储库,但没有设置为[使原始Git使用]的新存储库或分支新的裸存储库...

这很正常。

当您进行克隆时,您的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。 因此,如果您在此处输入拼写错误,则当您尝试使用该URL时,您的下一个git fetch将会失败。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM