2012-08-02 51 views
1

目标是混帐配置git clone [email protected]:something.git那得到这样做后,克隆

产生的something/.git/config将包含

[push] 
    default = tracking 

无需拷贝机做cd something; git config push.default tracking让他/她会不小心推时,所有的分支推动没有参数(不,没有人阅读自述文件)。

+3

您可以提供一个自动设置选项的shell脚本。 Git没有办法这样做,因为配置文件可能包含危险的别名或选项。 – knittl 2012-08-02 17:37:58

+0

@knittl脚本是否可以包含在回购库中,并且在回购库被克隆时自动运行?像后克隆钩或someting? – Ron 2012-08-02 17:42:22

+2

您可以将其包含在存储库中,但不能自动执行它。想想这会造成的安全隐患! – knittl 2012-08-02 17:46:31

回答

1

因为它是难以执行的下游端或客户端的政策(这是危险的,因为knittl评论),即将的Git 2.0承认这一事实,并会改变默认的推送策略。

(从2012年初在这一天的讨论,如 “git push current branch” 所示)

它将从当前默认一气呵成:

matching - 推动其所有分支机构两端同名。
这是为那些准备所有分支变成可发布形状然后用一个命令推出它们的人。
推送到由多个用户共享的存储库是不合适的,因为如果其他用户更新分支,本地停止的分支将尝试非快速向前推送。
这是目前的默认设置,但Git 2.0会将默认设置更改为simple

到新的,被称为 “simple”:

upstream - 推当前分支到其上游分支。
由此,git push将更新与通过git pull合并的相同的远程参考,从而使推拉对称。有关如何配置上游分支的信息,请参阅“branch.<name>.merge”。

simple - 与上游类似,但拒绝推送,如果上游分支的名称不同于本地名称。
这是最安全的选择,非常适合初学者。它将成为Git 2.0中的默认设置。