2012-08-02 38 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中的默認設置。