私はGerrit Code Reviewで Git をセットアップしており、Git を初めて使用するユーザーにとって必要な Git コマンドを比較的簡単にする方法を探しています。
新しい機能ブランチを開始するために現在持っているコマンドは基本的に次のとおりです (Gerrit が であると仮定origin):
git checkout baseline
git pull
git checkout -b work1234
git push -u origin work1234
work1234これにより、いくつかの から分岐した新しい作業パッケージが開始されbaseline、最後のプッシュで Gerrit に分岐が作成され、上流が設定されます。したがって、.git/config次のようになります。
[branch "work1234"]
remote = origin
merge = refs/heads/work1234
現在、Gerrit は、たとえば、レビュー用の新しいコミットを特別な refspec にプッシュすることを望んでrefs/for/work1234います。私はこれを手動で行うことができます:
git push origin work1234:refs/for/work1234
私がやりたいことは、プレーンが現在のブランチを Gerrit が必要とするリモートの refspec にプッシュするように設定する方法を見つけること.git/configですgit push。私は次のgit config分野を見てきました:
branch.<name>.*-プッシュ参照仕様を設定するための特定のオプションがないようですpush.default- 私はupstreamここが欲しいremote.<name>.pushrefs/heads/*:refs/for/*-私はここで試しましたが、この場合は常にすべてのローカルブランチgit pushをプッシュしたいのですが、現在のブランチだけが必要です
Git だけでこれを行うことができない場合は、refspec を完全に指定する小さなラッパー スクリプトを作成します。ただし、Git がネイティブに適切な場所にプッシュできるとよいでしょう。