鉴于有 no wide agreement上the semantics of master
,我们正在考虑在我们的 origin
服务器上根本不存在名为 master
的分支。
对于标准 git
命令行客户端内置的默认值会产生什么后果?它如何以不同于本地和远程其他分支的方式对待名为 master
的分支?
最佳答案
根据我对代码库的调查以及我对没有 master
分支的存储库的经验,我想说你没有问题。
最坏的情况是,存在一些边缘情况,其中不明确会导致命令失败,而不是回退到 master
分支。
-
当未找到远程引用并且未指定
git clone
默认设置一个master
分支( builtin/clone.c)
带有 git fast export
会单独留下master
,因为它是众所周知的默认值,并且不会传达任何信息(built-in/fast-export.c)- merge 提交消息是根据目标分支自定义的(即“merge branchx”与“将branchx merge 到branchy”)( builtin/fmt-merge-msg.c )
git init
使用master
作为默认分支名称 ( builtin/init-db.c )- 未指定分支名称 ( builtin/submodule--helper.c ) 时,
git submodule
默认为master
--bare
标志时,--anonymize
标志的 (下面的 git-remote.c
和 files-backend.c
输出实际上并不与 master
分支交互)
上面的列表是通过在 git repository 上使用以下 git grep
编译的.
# Look for string literals within *.c files containing "master"
# with 10 lines of context, excluding the t/ and contrib/ directories
$ git grep -C 10 -E -e \".*master.*\" -- :**/*.c :^t/ :^contrib/
关于git - git 的哪些部分对于名为 "master"的分支有特殊/默认行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50804941/