Gitでリモートブランチを自動的に追跡する 質問する

Gitでリモートブランチを自動的に追跡する 質問する

ローカル ブランチ を使用しているときに、 とだけを使用してmybranchプッシュしたりプルしたりできるようにしたいと思います。現状では、と を面倒に記述する必要があります。たとえば、 だけを使用しようとすると、次のようになります。origin mybranchgit pushgit pullgit push origin mybranchgit pull origin mybranchgit pull

There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=origin/<branch> mybranch

と入力するとgit branch --set-upstream-to=origin/mybranch mybranch、動作します。しかし、これは前のコマンドと同じくらい面倒です。git にこれをデフォルトの動作として実行させることはできますか? 同様の質問を見たことがありますが、回答では git の新しいバージョンではこれを実行すると示唆する傾向がありますが、私は git バージョン 2.1.3 を使用しています。これはかなり新しいバージョンなので、それだけではいけません。

ベストアンサー1

git 2.37.0 以降では、git 設定でこれが可能になりました。

実行して構成を更新します:

git config --global --add --bool push.autoSetupRemote true

その後、git pushリモート ブランチが自動的に設定されます。

注:--globalフラグは、これがマシン上のすべての git コマンドに適用されることを意味します (どのリポジトリであるかに関係なく)。フラグを省略して、マシン上の単一のリポジトリに特定することもできます。

ドキュメンテーション:

https://git-scm.com/docs/git-config#Documentation/git-config.txt-pushautoSetupRemote

プッシュ自動セットアップリモート

「true」に設定すると、現在のブランチにアップストリーム トラッキングが存在しない場合に、デフォルトのプッシュで --set-upstream が想定されます。このオプションは、push.default オプションの simple、upstream、および current で有効になります。デフォルトで新しいブランチをデフォルトのリモートにプッシュし (push.default=current の動作のように)、アップストリーム トラッキングも設定する場合に便利です。このオプションから最も恩恵を受けるワークフローは、すべてのブランチがリモート上で同じ名前を持つことが予想される、単純な中央ワークフローです。

おすすめ記事