1

目標はそうした後ですgit clone git@somewhere:something.git

結果には次のものsomething/.git/configが含まれます

[push]
    default = tracking

クローン作成者にそうするように要求するcd something; git config push.default trackingことなく、引数なしでプッシュするときに誤ってすべてのブランチをプッシュすることはありません(いいえ、誰もREADMEを読みません)。

4

1 に答える 1

1

ダウンストリームまたはクライアント側でポリシーを強制するのは難しいため ( knittlのコメントのように危険です)、次期Git 2.0 ではその事実が認識され、デフォルトのプッシュ ポリシーが変更されます。

git push(「 current branch 」に示されているように、2012 年初頭からのこの日付に関する議論)

現在のデフォルトのものから移動します。

matching- 両端で同じ名前を持つすべてのブランチをプッシュします。
これは、すべてのブランチを公開可能な形に準備してから、コマンド 1 つで押し出す人向けです。
複数のユーザーが共有するリポジトリへのプッシュには適していません。他のユーザーがブランチを更新すると、ローカルで停止したブランチが早送り以外のプッシュを試みるためです。
これが現在のデフォルトですが、Git 2.0 ではデフォルトが に変更されますsimple

" " と呼ばれる新しいものにsimple:

upstream- 現在のブランチを上流のブランチにプッシュします。
これにより、git pushgit pull によってマージされたものと同じリモート ref が更新され、プッシュとプルが対称になります。branch.<name>.mergeアップストリーム ブランチの設定方法については、「 」を参照してください。

simple- アップストリームと同様ですが、アップストリーム ブランチの名前がローカルのものと異なる場合、プッシュを拒否します。
これは最も安全なオプションであり、初心者に適しています。Git 2.0 ではデフォルトになります。

于 2012-08-02T18:01:25.843 に答える