1

プロジェクトのトランクをローカルで作業していて、リモート ブランチをチェックアウトする必要があります。私の作業コピーは完全に最新であり、実行しています

git checkout -b RC1 origin/RC1

その後、私は走ります

git status

そして、変更されてタグが付けられていないファイルが約 30 個あることがわかります。ファイルの変更を表示するためにビジュアル インターフェイスを開きましたが、それらは 100% 同じです。私が走るとき

git diff

私は得る:

ファイルは、作業ディレクトリに元の行末を持ちます。警告: CRLF は src/private/library/arialunicid0-chinese->traditional.php で LF に置き換えられます。

私の質問は、これらのファイルがすべて変更されたと見なされるのはなぜですか? ブランチをチェックアウトしただけでは、ブランチを変更せずにクリーンにする必要はありませんか?

4

1 に答える 1

2

git checkoutマンページを引用するには、

git checkout <branch>
<branch> にコミットできるように、作業ツリー内のファイルに対するローカルの変更が保持されます。

いいえ、チェックアウト後に作業コピーが常にクリーンであるとは限りません。ファイルがチェックアウト前に変更された可能性があります。または、autocrlf 設定が台無しになっています。一般に、Git で EOL 変換をオフにして、代わりにすべての開発者がすべての EOL を処理できるエディターを使用し、1 種類の行末 (UNIX スタイル、LF のみなど) に同意することを確認する方が、頭痛の種にはなりません。

于 2013-02-06T19:43:15.033 に答える