git - 对于名为“master”的分支,git 的哪些部分具有特殊/默认行为?
问题描述
鉴于在的语义上没有广泛的共识,我们正在考虑在我们的服务器上根本没有命名分支。master
master
origin
git
就标准命令行客户端内置的默认值而言,这会产生什么后果?它如何以master
不同于其他分支的方式处理一个分支 - 本地和远程?
解决方案
根据我对代码库的调查以及我对没有master
分支的存储库的经验,我会说你很清楚。
在最坏的情况下,有几个边缘情况不明确会导致命令失败而不是退回到master
分支。
git clone
master
当没有找到远程引用并且--bare
未指定标志时默认设置一个分支( builtin/clone.c)git fast export
单独使用--anonymize
标志master
,因为它是众所周知的默认值并且不传达任何内容(built-in/fast-export.c)- 合并提交消息是根据目标分支定制的(即“Merge branchx”与“Merge branchx into branchy”)(builtin/fmt-merge-msg.c)
git init
用作master
默认分支名称 ( builtin/init-db.c )git submodule
默认master
为未指定分支名称时(builtin/submodule--helper.c)
(下面的git-remote.c
andfiles-backend.c
输出实际上并不与master
分支交互)
上面的列表是使用git 存储库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/
推荐阅读
- maven - 我应该如何将一个android库放到网上
- angular - 如何区分类型和功能?
- ios - HERE Api - 使用 iOS/Android SDK 和 REST API 的不同路由结果
- java - 如何将文本字段中一次可见的字符数限制为小于文本字段的宽度?
- anypoint-studio - 在 Anypoint Studio 中看不到连接器的属性
- java - 如何使项目兼容 64 位
- python - 如何从字符串中删除 None 类型
- javascript - 如何选择第一个单词相同且最后一个单词可选的属性?
- python - TypeError: 'Tensor' 对象不可调用 | Keras 自动编码器
- python - 基于 xarray 的数据库有哪些可能性?