ローカルの変更をリモートリポジトリにプッシュする直前に、gitは常にローカルブランチをリモートブランチと同期するように要求します。そのためには、最初にgit pullを実行し、次にプルされた変更をコミットして、最後にプッシュします。
このアプローチの問題は、gitがプルインされたファイルを既存の変更とマージし、将来、その特定のコミットで何をしたかを理解しようとすると、何をしたかとプルがマージしたかを明確に区別できないことです。
クリーンな履歴が欲しいのですが、つまり、コミットには常に、追加した変更のみを表示/表示する必要がありますが、プルによってマージされた変更は表示されません。
私が考えることができるこの問題の1つの解決策は、特定のリモートブランチに2つのローカルブランチを用意することです。(1)変更の場合、(2)リモートと同期する場合、およびプッシュする必要がある場合は、最初に(2)をリモートと同期してから、(1)を(2)とマージしてから、(2)からプッシュします。
きれいな歴史を持つ方法に関する他の提案はありますか?