1

行末に ^M を含むファイルのパッチを作成するのに苦労しています。ファイルを編集すると ^M は表示されませんが、format-patch によって作成されたパッチは、パッチ ゾーン コンテキストでそれを示しています。そのため、新しい git ツリーに適用しようとすると、git am は行末でこの ^M を検索していますが、表示されません。そしてそれはエラーの結果です。

git format-patch がこの ^M を考慮に入れるのをやめるアイデアや回避策はありますか?

前もって感謝します

PS: この git ツリーへの書き込みアクセス権がないため、パッチを作成する必要があります。

4

2 に答える 2

1

Gitは、^Mを使用したWindowsスタイルのラインエンディングのCRを示します。ファイルをUnixスタイルの行末に変換すると、これらは消えるはずです。

autocrlfをオフにすることの1つの欠点は、git diffの出力がCR文字(^ Mで示される)を空白エラーとして強調表示することです。この「エラー」をオフにするには、core.whitespace設定を使用できます。

cf. http://lostechies.com/keithdahlby/2011/04/06/windows-git-tip-hide-carriage-return-in-diff/またはこのStackOverflowの質問:git-diffは^Mを無視します

于 2011-12-18T16:53:31.367 に答える
0

git format-patch --ignore-space-change --ignore-whitespace -1 mychanges.patch

これは私を助けました。これを読めば理解が深まります。

于 2014-06-12T09:04:23.200 に答える