さて、それで私はこのような行でファイル.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"
しかし、今私の作業コピーはまだキャリッジリターンを持っています!保管したいファイルを追跡していません。正規化ファイルを使用してgitでマスターブランチを再度チェックアウトする方法を教えてください。
レポジトリのクローンを作成すると、キャリッジリターンがないすべてのファイルがあるため、リポジトリ内でファイルが正規化されていることがわかります。
ああああ!前のコミットをチェックアウトしてから、マスターをチェックアウトします。
git checkout HEAD^
git checkout -f master
他の人が指摘したように、リポジトリ内のすべてのファイルを削除してからチェックアウトすることができます。私はこの方法を好むし、それは以下のコードで行うことができます
git ls-files -z | xargs -0 rm
git checkout -- .
または1行
git ls-files -z | xargs -0 rm ; git checkout -- .
私はいつもそれを使っていて、まだ欠点を見つけていません!
さらに詳しい説明をするために、-z
はls-files
によって出力される各エントリーの終わりにヌル文字を追加し、-0
はxargs
にそれらのヌル文字で受け取る出力を区切るように伝えます。