git - 如何在 Github 中将 develop 分支设置为默认分支而不是 master?

标签 git github

我知道这可以在存储库的管理页面上完成。可以在那里设置另一个默认分支。这就是这个问题的答案。

但我发现(也许是错误?)以下内容。如果您的 master 分支和 develop 分支完全相同,那么 git clone 将不会克隆默认的“develop”分支,但仍然是“master”!如果你向 develop 分支提交了一些东西,删除你的克隆然后再次克隆,你将获得 develop 分支!

这是 Git 行为还是 Github?是否可以修复此问题以使其始终发展?

最佳答案

这是一个 git “特性”

我刚刚用本地存储库测试了它,而我的第一个存储库 testHEAD 是“develop”:

C:\Users\VonC\Documents\GitHub\test>git symbolic-ref HEAD
refs/heads/develop

...在test1中克隆的默认分支名称是master!

C:\Users\VonC\Documents\GitHub\test1>git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/master

参见“How do I change a Git remote HEAD to point to something besides “master”:
从克隆的 repo 角度来看,远程源 repo 上的 HEAD 引用了 masterdevelop:

C:\Users\VonC\Documents\GitHub\test1>git ls-remote origin
c215dd28ea8bf9b0c6b522c784b70bbbb3e858a5        HEAD
c215dd28ea8bf9b0c6b522c784b70bbbb3e858a5        refs/heads/develop
c215dd28ea8bf9b0c6b522c784b70bbbb3e858a5        refs/heads/master

确定克隆仓库的默认分支的顺序是:

  • HEAD references refs/heads/master and that exists -> you get a local branch called master, starting from origin/master
  • HEAD references refs/heads/anotherBranch and that exists -> you get a local branch called anotherBranch, starting from origin/anotherBranch

关于git - 如何在 Github 中将 develop 分支设置为默认分支而不是 master?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12759615/

相关文章:

我是 : Patch format detection failed

git - 使用 SSH 的 Aptana 和 GitLab 版本控制

github - Github.com 源代码是开源的吗?

html - 细胞景观。从 URL 加载依赖

git - 如何将一个特定文件从一个分支 merge 到 Git 中的另一个分支

Git 工作流程 : merging branches while avoiding repetitive commit messages

macos - Git 错误 : dyld: lazy symbol binding failed: Symbol not found: _iconv_open

git - 子分支和父分支同步自己

GitHub:标签而非发布

linux - Github post hook 到 DEVELOPMENT VM