假设我想使用类似 SVN 的工作流来解决 Git 存储库(因此每个开发人员都引用 URL 上的集中存储库)。
我知道您可以不受限制地推送到裸存储库(但组权限等),但是如果不使用强制选项,您就不能使用常规存储库。所以像中央存储库这样的“SVN”应该被初始化为裸露的。我理解正确吗?
现在,我想知道从已经有一个 git 存储库(还没有克隆或远程链接)、源文件以及可能有多个分支的本地文件夹生成集中式存储库的最短方法是什么。
现在我使用以下方法,但我不确定它是否足够:
在远程文件夹 my_project.git 上:
git init --bare
现在只在本地文件夹 my_project 与现有 repo :
git remote add origin url_to_my_project.git
git push -u --all
这够了吗 ?
当我在另一个本地位置克隆集中式存储库时,新的存储库似乎并不严格等同于原始本地副本。在使用git branch -a
命令时,我有两个不同的结果,我的 git 知识目前还不足以理解发生了什么。
在原始本地存储库上:
> git branch -a
* master
remotes/origin/master
在从集中远程克隆的本地存储库上:
> git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
这两个副本看起来不相等到底是怎么回事?
提前致谢。