修正が必要なもの:
.md
私が書いているエッセイを含む単一のファイルを含むリポジトリがあります。
Linux を実行している 1 台と Windows を実行している 2 台のコンピューターからファイルを編集します。
いくつかの変更を加えた Windowsで agit diff
を見ると、エッセイが適切に区切られたテキスト行として表示されていることがわかります...すべてが削除され、段落が^M
s で区切られた 1 つの長い行に置き換えられようとしています。
^M
Windows の CLRF 行末を参照していることは承知しています。
diff
結果は、Linux でファイルを開始し (完全に可能です。覚えていません)、それを Windows に保存し、すべての行末が置き換えられたことを意味します。
diff
両方の OS でファイルを開き、必要に応じて行が表示され、 (プレースホルダーではなく) 改行が表示さ^M
れ、実際のコンテンツのみが変更される結果が得られるようにしたいと考えています。
私が試したこと:
背景を読んだり、行末と Git 設定の概要を読んだり、別の Stack Overflow questionのコマンドに従ってみたりしました。
.gitattributes
現状では、リポジトリ自体にコミットしたリポジトリの最上位に1 つのファイルがあります。次の 2 行だけが含まれています。
# These files are text and should be normalised (convert Windows' CLRF to LF)
*.md text
私はこれを試しました(source):
git rm --cached -r .
git reset --hard
git add .
git commit -m "Normalize line endings"
そしてこれ(ソース):
git rm --cached -r .
git config core.autocrlf input
git diff --cached --name-only -z | xargs -0 git add
git commit -m "Fixed crlf issue"
2 番目のケースでは、最後のコマンドで、コミットするものが何もないことがわかります。core.autoclrf
(純粋に を介してこれを行おうとしているので、を変更するという考えも好きではありませんが、.gitattributes
イライラしています。)
喜んで質問に答え、詳細を提供します。私が間違っている可能性のあるアイデアはありますか?手順がありませんか?