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