60

Windowsアプリをリリースするgit前に使用したことがないため、コマンドラインで使用したことはありません。GitHub

私の状況は次のとおりです。
でいくつかのコミットを行いmaster、次にブランチを切り替えて、そこでもいくつかのコミットを行いました。GitHub にプッシュする必要はありません。syncその後、Windows アプリをクリックすると (git pushおそらくmaster.

これは Windows アプリの動作なので、コマンド ラインを使用する必要があると思います。
コミットをリモートの正しいブランチにプッシュする正しいgit pushコマンドは何ですか?

4

5 に答える 5

94

すべてのブランチ (refs/heads の下の参照) をプッシュするには、次のコマンドを使用します (origin はリモートです)。

git push origin --all

push.default設定で を設定しmatchingて、デフォルトで両端に同じ名前を持つすべてのブランチをプッシュすることもできます。例えば:

git config --global push.default matching

Git 2.0 以降、デフォルトはsimple最も安全なオプションです。

于 2013-01-26T20:13:57.547 に答える
9

git push originデフォルトでは、すべての追跡ブランチからリモートにプッシュされます。

git push origin my-new-branch新しいブランチだけをプッシュします。

2 つの異なるブランチから同じブランチにコミットをプッシュし、リモートでマージを実行するような単純なことや誤って実行できることはないと思います。

新しいブランチの履歴にはマスターからのコミットがあったと思います。それが本当かどうかを確認するには、git log my-new-branchローカルで実行して、それらのコミットが履歴にあったかどうかを確認してください。

その場合、「ブランチを切り替えた」ときに、おそらく新しいコミットが行われたに master から分岐したため、新しいブランチには、そのブランチに固有のものだけでなく、履歴内のすべてのコミットが含まれていました。

于 2012-10-21T18:03:28.437 に答える
5

遅い答えですが、私のために働いた解決策を共有します。

最後に、私の/foo/.git/configファイルは次のようになります。

[core]
    ...

[remote "dev"]
    url = http://dev.foobar.com/foo.git
    fetch = +refs/heads/*:refs/remotes/dev/*
[remote "pro"]
    url = http://pro.foobar.com/foo.git
    fetch = +refs/heads/*:refs/remotes/pro/*

[remote "all"]
    url = http://dev.foobar.com/foo.git
    url = http://pro.foobar.com/foo.git

[http]
    postBuffer = 524288000

そしてコマンド;

git push all --all

クレジット:複数の Git リポジトリに同時にプッシュする

于 2013-09-17T09:42:26.117 に答える
2

あなたはすることができます

 git branch | grep "<pattern>" | xargs git push 

<pattern>をブランチ名に一致する正規表現に置き換えれば、それだけです。

--set-upstream originこのブランチの最初のコミットである場合は追加できます

于 2019-06-18T17:44:21.257 に答える