私は、ソース管理/コードレビューとしてGit/Gerritを使用している小さなチームで働いています。
チームの開発者が自分の作業を提出したい場合、彼らはgerritにコミット/プッシュし、新しい機能の作業を開始します。
さらに、開発者は可能な限り自分の作業をプッシュすることをお勧めします。通常、開発者は、現在レビュー中の(関連する変更のチェリーピッキングを通じて)すでに送信された変更に加えて作業します。
問題は、開発者が変更をプッシュしようとすると、変更の履歴もプッシュすることです。副作用として、これらの変更は、同じ変更の以前のバージョンとの違いなしに新しいバージョンを取得します。また、開発者には「偽造」許可を与える必要があります(チェリーが選んだ変更の一部が彼のものではなかったと仮定します)
例:Adamのブランチの1つの履歴が次のようになっているとします(より高い変更が最新です):
変更3(作成者:Adam、現在作業中)
変更2(Ahthor:チャーリー)
変更1(作成者:Bath)
マスター
現在、変更1、2は、gerritから厳選されたものであり、変更されていません。
アダムがパッチをプッシュするとき、彼は変更1、2でコミッターを偽造できなければならず、それらは新しいバージョンを取得します(以前のプッシュとの違いはありません)
誰かがこの動作を回避する方法をアドバイスできますか?私たちは何か間違ったことをしていますか?