私は Stash のローカル バージョンを実行しており、すべてのローカル開発者がそれにアクセスできます。それをクライアントのプロジェクトで使用する方法を頭に入れるのに少し苦労しています。
クライアントの git リポジトリを参照リポジトリとして複製 (Stash にプッシュ) できるようにする必要があります。私のすべてのローカル開発者からのすべての開発作業は、その参照リポジトリに対して行われます。その参照リポジトリに対してすべてのコミットを行い、すべての変更が QA に合格したら、最終的なコードをクライアントにプッシュします。すべての意図と目的のために、クライアントは日々のすべてのコミットを取得するわけではなく、最終的な成果物のみを取得します。
私がやろうとしていること、そしてそれが実現可能かどうかはわかりませんが、クライアントのレポをローカルに複製し、それをすべてのローカル開発者の新しいオリジンにすることです。すべての作業が完了したら、最終的なコミットのみをクライアントにプッシュしたいだけです (すべての中間コミットではありません)。もう少し複雑にするために、ローカルのクローン リポジトリを開発者のオリジンとして使用する代わりに、クローン リポジトリをローカルの Stash サーバーにプッシュし、それをオリジンにしたいと考えています。
クライアントのレポを Stash に移動するのは簡単です (ログインしてレポを複製し、それを Stash にプッシュするだけです)。どうすればよいかわからないのは、クライアントとの同期を維持する方法です。つまり、クライアントが変更を行った場合、それらの変更を取り込みたいのですが、常に 2 つの部分からなるプロセス (つまり、変更の取り込み、リベース、およびプッシュ) を維持する必要がありますか? これを 2 つの異なる作業パス (つまり、実際の開発作業用とプル/リベース/プッシュ用) で行う必要がありますか? このようなことを自動化する方法はありますか?