128

さて、次の.gitattributesような行でファイルを追加しました

*.css text
*.js text
etc...

次に、 http: //git-scm.com/docs/gitattributes#_checking-out_and_checking-inの指示に従いました

$ rm .git/index     # Remove the index to force Git to
$ git reset         # re-scan the working directory
$ git status        # Show files that will be normalized
$ git add -u
$ git add .gitattributes
$ git commit -m "Introduce end-of-line normalization"

しかし今、私の作業コピーにはまだ改行があります! 保持したい追跡されていないファイルがあります。正規化されたファイルを使用して master ブランチを再度 git チェックアウトするにはどうすればよいですか?

リポジトリのクローンを作成すると、すべてのファイルにキャリッジ リターンがないため、ファイルがリポジトリで正規化されていることがわかります。

4

3 に答える 3

322

ああああ!前のコミットをチェックアウトしてから、マスターをチェックアウトします。

git checkout HEAD^
git checkout -f master
于 2013-06-20T20:58:20.147 に答える
20

他の人が指摘したように、リポジトリ内のすべてのファイルを削除してからチェックアウトすることができます。私はこの方法を好み、以下のコードで実行できます

git ls-files -z | xargs -0 rm
git checkout -- .

または1行

git ls-files -z | xargs -0 rm ; git checkout -- .

私はいつもそれを使用していますが、まだ欠点は見つかりませんでした!

さらに説明すると、は-zによって出力された各エントリの末尾にヌル文字を追加し、は受信していた出力をそれらのヌル文字で区切るように指示します。ls-files-0xargs

于 2015-11-24T20:24:05.833 に答える