ローカル ブランチ を使用しているときに、 とだけを使用してmybranch
プッシュしたりプルしたりできるようにしたいと思います。現状では、と を面倒に記述する必要があります。たとえば、 だけを使用しようとすると、次のようになります。origin mybranch
git push
git pull
git push origin mybranch
git pull origin mybranch
git 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 の動作のように)、アップストリーム トラッキングも設定する場合に便利です。このオプションから最も恩恵を受けるワークフローは、すべてのブランチがリモート上で同じ名前を持つことが予想される、単純な中央ワークフローです。