web-dev-qa-db-ja.com

HTMLへの色付きGit diff

git diff --color-wordsファイル内で変更された単語を明確に見るには:

Screenshot

しかし、その差分をgitやカラー端末を持たない誰かと共有したいのです。 カラーエスケープされた端末出力をHTMLに変換できるツールまたはトリックを知っている人はいますか?

59
hendry
wget "http://www.pixelbeat.org/scripts/ansi2html.sh" -O /tmp/ansi2html.sh
chmod +x /tmp/ansi2html.sh
git diff --color-words --no-index orig.txt edited.txt | \
/tmp/ansi2html.sh > 2beshared.html

本当に必要だったのは、HTMLコンバーターへの [〜#〜] ansi [〜#〜] でした。そして、私は http://www.pixelbeat.org/ で非常にまともなものを見つけました。

注:おそらくpipingがgit diffで色を除外するため、--colorまたは--color-wordsを含めない限り、色付けが表示されない場合があります。

注2:特にMacを使用している場合は、gnusedとawkのインストールが必要になる場合があります。 brew install gnu-sed gawkを使用してください。手動でパスに追加する必要がある場合もあります。 ln -s /usr/local/Cellar/gnu-sed/4.2.2/bin/gsed /usr/local/bin/で。

83
hendry

次のコマンドを使用して、diff2htmlをダウンロードして展開し、diffをhtmlに変換します。

$ diff2html file1.txt file2.txt > diff-demo1.htm

さらに... this の質問をご覧ください。

またはギッティング後:

git diff --color-words --no-index orig.txt /tmp/edited.txt > myfile

this の場所から両方のansifilterをダウンロードします。このコマンドを使用してmyfileをhtml形式に変換します

ansifilter -i myfile -H -o myfile2.html

だから...これはまさにあなたが望むものです;)

11
Michel Gokan

clean diffsline類似マッチングより良い単語比較構文ハイライト、さらにチェックアウト diff2html これは非常にcustomizableHTMLプレゼンターに対するgit diffです。

コマンドラインで使用するには、Node.jsで記述されたシンプルなCLIである diff2html-cli を確認します。

したがって、 diffy.org と統合する同僚と差分を共有できます。

Diffサンプルを確認してください here

3
rtfpessoa

あなたが望むことを正確に行うためのツールを知らない。しかし、html形式の色付きdiffを出力するためによく使用するコードは次のとおりです。 simplediff

PHPおよびPython。出力では、<del>および<ins>タグを使用すると、CSSを使用して簡単に色を付けることができます。

3
slebetman

Githubプロジェクト rmed をチェックアウトするとよいでしょう。これは、vimdiffを使用して静的な共有可能なhtml diffを生成するコマンドラインツールを提供します。

1
rouble

Git diff用のhtmlテーブルを生成するPerlスクリプトを作成しました。このスクリプトを使用するには、まずgit diff sha1s ...> diff.fileを使用してdiffを収集し、次にdiff2html.pl diff.fileを実行する必要があります。訪問:

http://kernel-demystified.com/forum/index.php/topic,23.msg28.html#new

1
Samir Das

git bashを使用する場合、git showコンソールに表示されているものをコピーして貼り付けるだけで、色が正しくコピーされます。