在完成git clone git@somewhere:something.git
结果something/.git/config
将包含
[push]
default = tracking
不要求克隆人做cd something; git config push.default tracking
因此他/她在没有参数的情况下推送时不会意外地推动所有分支(不,没有人读取自述文件)。
答案 0 :(得分:1)
由于难以在下游或客户端实施策略(这很危险,如knittl评论),即将推出的 Git 2.0 会识别这一事实并将更改默认推送政策。
(关于此日期的讨论,从2012年初开始,如" git push
current branch")
它将从当前的默认值开始:
matching
- 推送两端具有相同名称的所有分支 这适用于那些将所有分支准备成可发布的形状然后用一个命令将它们推出的人 不适合推送到多个用户共享的存储库,因为如果其他用户更新了分支,本地停顿的分支将尝试非快速推送。
目前这是默认设置,但Git 2.0会将默认设置更改为simple
。
新的名为" simple
":
upstream
- 将当前分支推送到其上游分支 有了这个,git push
将更新与git pull合并的同一远程引用,使push和pull对称。见&#34;branch.<name>.merge
&#34;如何配置上游分支。
simple
- 与上游一样,但如果上游分支的名称与本地分支不同,则拒绝推送。
这是最安全的选择,非常适合初学者。它将成为Git 2.0中的默认设置。