私のワークフローは次のとおりです。開発のメインブランチがあり、常に渡しテストが必要です。その後でそれ用のリモート追跡ブランチを作成以下のシナリオでgit rebaseをより効果的に使用する方法
git checkout -b feature_name
:機能で作業する場合、私はこのチケットで動作するように新しいブランチ作成
git push -u origin feature_name
をそれから私は、このブランチにコミットし続けます時々私はこれと一緒に開発するから統合する:
git checkout develop; git pull; git checkout feature_branch; git merge develop
開発ブランチからブランチが更新され続けるようにする。
私が行っています、私が開発し、プッシュするには、このブランチをマージ:
git checkout develop; git pull; git merge feature_branch; git push
これは、マージするためのgitプル戦略を使用しています。しかし、私が上記のことをすると、時には私のコミットが一番上に、時には他の場所に散在しているので、私が何をしたのか分かりません。私は上記のscanarioでrebaseを使う方法を知りたいので、私のコミットの履歴が上に表示されます。
私はリベースを一切使っていないので、リモートコミットをリベースしないでください! – umar
あなたの答えによると、私のワークフローでは、すべてのgit-mergeコマンドをgit-rebaseコマンドに置き換えています。 – umar
あなたのプロジェクトのコピーを作り、 'git push'を使わずにこれらのコマンドを試してみてください。この場合、あなたはあなたのリモコンを台無しにしません。 (もし私が新しい、おそらくは破壊的な機能を試しているのであれば、これをいつもやっています。)リベースすれば、あなたの履歴はマージコミットがなくなるので、より洗練されたものになります。そして起源を再構築した場合、チェックアウト/プル/チェックアウト/マージする必要はありません。 – Vili