2

あるリモートからプルして別のリモートにプッシュするブランチがあり、Ugit branch --set-upstream-to=xxxx xxxxはプル レポgit config remote.origin.pushurl user@user.com:repo.gitを設定し、プッシュ レポを設定していました。

プルはmasterソース リポジトリのブランチからのものですが、宛先リポジトリpushのブランチに移動します。upstream

ブランチに切り替えて実行するgit pushと、通常の--global push.defaultメッセージが表示されます。

warning: push.default is unset; its implicit value has changed in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the traditional behavior, use:

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use:

  git config --global push.default simple

When push.default is set to 'matching', git will push local branches
to the remote branches that already exist with the same name.

特定のブランチに対して、値ではなく、リモートのどのブランチにプッシュするかを指定する方法はありますpush.defaultか?プルに対しても同様です?

4

1 に答える 1

1

アイデアは、ブランチ名とは異なる任意の名前のブランチにプッシュすることです

アップストリーム ブランチを指定するだけです。

git branch --set-upstream-to my_local_branch origin/my_remote_branch

その後のプッシュは、どのブランチにプッシュするかを認識しmy_local_branchます。

プッシュ ポリシーを設定する必要があります ( git config push.default simple) 。

あるレポにプッシュし、別のレポからプルするには、プル/フェッチ URL とは異なるプッシュ URL を設定できます。

git config remote.origin.pushurl /url/for/origin/repo
git config remote.origin.url /url/for/upstream/repo

これにより、「1 つの」リモート (実際には 2 つの異なるリポジトリを参照する) ですべてを管理できます。

アップストリーム ブランチ パーツの refspec を更新することもできます。

git config remote.origin.push refs/heads/my_local_branch:refs/heads/my_remote_branch
git config remote.origin.fetch refs/heads/my_local_branch:refs/heads/my_local_branch
于 2015-03-18T07:51:36.567 に答える