私のチームは、git で機能ブランチ ワークフローを使用しています。
git pull upstream branchname
アップストリームのレポからa を常に に設定したいと思いますgit pull --ff-only upstream branchname
。それは可能ですか?
また、プルupstream
のみを許可するようにリポジトリ全体を構成できれば幸いです。--ff-only
詳細
私たちのメインの統合ブランチはdevelop
、メインのアップストリーム リポジトリにあります。個々の機能ブランチは開発から始まり、変更を加えてから、プル リクエストを上げて機能ブランチをマージして開発に戻します。
問題は、開発者の多くが本来あるべきほど git に精通しておらず、ローカル リポジトリの のコピーをめちゃくちゃにしてdevelop
、アップストリームの のコピーから逸脱していることですdevelop
。
彼らはこの相違に気づいていません。次に、borked から feature ブランチを作成し、develop
pull request を発行するまでそれに気づきません。これにより、突然大量のがらくたがもたらされます。運が良ければ、経験豊富なレビュアーから、プル リクエストをリベースしてクリーンアップするように指示されます。しかし、時々、めちゃくちゃなプル リクエストがマージされ、アップストリームの履歴がめちゃくちゃになります。
回避策
--ff-only
これらの初心者の git-folks への私の推奨は、アップストリームからプルするときに常にオプションを使用して、ローカルdevelop
ブランチをアップストリーム リポジトリの完全なコピーのままにすることです。
のローカル コピーがdevelop
アップストリームから分岐し--ff-only
た場合、次にプルしようとしたときに、オプションが彼らに怒鳴ります。この怒鳴り声は、彼らに本当の問題を解決させます。
しかし、それらは git-n00bs であるため、私が何を推奨しているのかさえ理解していないことが多く、混乱を招き続けています。
私はすべての適切なアメとムチの動機付けテクニックを試します (人間! 私は知っていますよね?) が、どうにかして彼らのローカル リポジトリを補助--ff-only
輪で構成できれば、私のレビューの負担は軽減されます (そして、私の開発者は強制されます)。より良い git テクニックを学ぶため)。