2

我有一个现有的 Git 存储库,带有工作副本,连接到 GitHub 远程存储库(我的本地存储库在 Windows 上)。

我现在想允许另一个开发人员克隆我的本地存储库并将其作为其远程存储库连接到它

这可能吗?

我已经为 Windows 安装了 GitStack,但我只看到了创建新存储库的可能性 - 没有设置现有的本地存储库以用作另一个存储库的远程存储库

如果这是不可能的,有什么方法可以设置我的 Git 基础设施,以便我可以达到相同的目的 - 即,当其他开发人员提交时,我不必做任何事情,并且这些提交出现在我现有的Git 仓库?

4

1 回答 1

2

是的,可以克隆常规 Git 存储库(非裸机,带有工作副本)。

例如,假设您现有的存储库存在于C:\my-repo\. 你可以把它克隆成C:\my-repo2\这样:

cd /d c:\
git clone my-repo my-repo2

从另一台机器克隆它有点不同,因为您需要打开现有存储库的网络路径。在 Linux 系统上,我建议启用 SSH 或使用git instaweb. 当然,这两者都可以在 Windows 上运行,但设置它们并不容易。

查看 GitStack 的文档,您可能希望按照这些说明导入现有存储库。将 GitStack 指向您现有的克隆,您应该一切顺利。

关于pushing的说明

正如Hashem Qolami指出的那样,默认情况下,非裸存储库不会接受push其活动(签出)分支的 a。您在这里有几个选择。

  • 阅读receive.denyCurrentBranchgit help config决定是否要启用对已签出分支的推送。我不建议更改此设置,但应将其作为一个选项提及。
  • 让下游开发人员推送到一组不同的分支。例如,决定下游开发人员将推送到名为developer-name/branch-name. 然后合并上游仓库中的分支。
  • 与其让下游开发人员push进入上游存储库,不如启用与下游机器的传入 Git 连接和fetch(或pull)下游更改到上游存储库。
于 2014-01-18T19:19:22.003 回答