何百もの Git コミットメッセージを編集する最も速い方法は何ですか? 質問する

何百もの Git コミットメッセージを編集する最も速い方法は何ですか? 質問する

私には、もともと SVN からインポートされた、1000 のコミットを含むかなり大きな Git リポジトリがあります。リポジトリを公開する前に、新しいリポジトリで意味をなさない数百のコミット メッセージをクリーンアップし、追加された git-svn 情報テキストをすべて削除したいと思います。

'git rebase -i' と 'git commit --amend' を使用して個々のコミット メッセージを編集できることはわかっていますが、編集するメッセージが数百もある場合、それは非常に面倒です。

これらすべてのコミット メッセージをもっと速く編集する方法はありますか? 理想的には、すべてのコミット メッセージを 1 つのファイルにリストし、1 か所ですべて編集できるようにします。

ありがとう!

ベストアンサー1

それは古い質問ですが、 については何も言及されていないのでgit filter-branch、私の意見を述べさせていただきます。

最近、コミットメッセージのテキストを一括置換する必要がありました。コミットメッセージの残りの部分は変更せずに、テキストブロックを別のテキストブロックに置き換えました。たとえば、参照: #xxxxx参照: #22917

私はgit filter-branchこのように使いました

git filter-branch --msg-filter 'sed "s/Refs: #xxxxx/Refs: #22917/g"' master..my_branch
  • --msg-filterコミット メッセージのみを編集するオプションを使用しましたが、他のフィルターを使用してファイルを変更したり、完全なコミット情報を編集したりすることもできます。
  • filter-branch私はこれをマスター()にないコミットにのみ適用するように制限しましたmaster..my_branchが、コミットの範囲を省略することでブランチ全体に適用できます。

ドキュメントで提案されているように、ブランチのコピーでこれを試してください。お役に立てば幸いです。


回答に使用した情報源

おすすめ記事