是的,可以克隆常规 Git 存储库(非裸机,带有工作副本)。
例如,假设您现有的存储库存在于C:\my-repo\
. 你可以把它克隆成C:\my-repo2\
这样:
cd /d c:\
git clone my-repo my-repo2
从另一台机器克隆它有点不同,因为您需要打开现有存储库的网络路径。在 Linux 系统上,我建议启用 SSH 或使用git instaweb
. 当然,这两者都可以在 Windows 上运行,但设置它们并不容易。
查看 GitStack 的文档,您可能希望按照这些说明导入现有存储库。将 GitStack 指向您现有的克隆,您应该一切顺利。
关于push
ing的说明
正如Hashem Qolami指出的那样,默认情况下,非裸存储库不会接受push
其活动(签出)分支的 a。您在这里有几个选择。
- 阅读
receive.denyCurrentBranch
并git help config
决定是否要启用对已签出分支的推送。我不建议更改此设置,但应将其作为一个选项提及。
- 让下游开发人员推送到一组不同的分支。例如,决定下游开发人员将推送到名为
developer-name/branch-name
. 然后合并上游仓库中的分支。
- 与其让下游开发人员
push
进入上游存储库,不如启用与下游机器的传入 Git 连接和fetch
(或pull
)下游更改到上游存储库。