私は過去数か月にわたってプロジェクトのgitの変更をコミットしてきました。 Trac をワークフローに統合し始めたいと思います。一般的に、私はgitリポジトリの「gitflow」スタイルを持っています。私はマスターを維持して開発し、開発ブランチから機能とバグ修正をブランチします。
複数のコミットが原因でGithubの問題を解決する必要があるコミットはどれですか? の回答から、「マージコミット」をチケットにリンクしたいことがわかります。
私はすでにgitリポジトリにいくつかの機能を持っているので、「過去にさかのぼって」それらをTracに入力されたチケットに関連付けたいと思います。
この時点で、2つの選択肢があります。
履歴を書き直します。使うことができます git rebase --interactive --preserve-merges
。次に、チケット情報をメッセージに追加します。
使用する git notes add <rev>
toaddメモ。
どちらがより良い選択肢であるかについての意見を探しています。1。事実上の標準にもっと準拠することができ、2。チケット管理をコードリポジトリから分離してください。
私はリポジトリ、Tracサーバーなどを完全に制御できます。ソロ開発者、プッシュなし(「バックアップ」以外)、ローカルから再構築できます)
それらのすべて。コミットが問題XとYの修正に関連し、別のコミットがYとZの修正に関連する場合は、両方ともそのようにマークする必要があります。コミットの数を「人為的に」1に減らしたいのはなぜですか? Tracがそれをサポートしていない場合、それは間違いなくバグ(または「明らかな機能の欠如」)だと思います。
2番目の部分に関しては、実用的な方法で行います。どのオプションがツールで最もよくサポートされているかyo使用する(または使用したい)、履歴への変更が追加の作業につながることを考慮に入れてリポジトリを更新したい人。