web-dev-qa-db-ja.com

Windowsのgitは、新しく複製されたリポジトリの場合でも、変更されたファイルを常に表示します

Windowsマシンのgitに問題があります。私は常にすべてのリポジトリで変更されたいくつかのgitファイルを持っていますが、変更されたものとして表示されるファイルは同じです。

新しいリポジトリのクローンを作成し、tortoisegitを使用してコミットすると、リポジトリ内の1つのファイルに触れたことがない場合でも、一部のファイルが変更されていることがわかります。 「gitstatus」は変更を表示しませんが

どんな助けでも大歓迎です。ありがとう

23
tazo

変更が単にファイルのアクセス許可の変更であるかどうかを確認します。これが私の場合の理由で、TortoiseGitとGitExtensionsの両方が変更されていないファイルを表示しました。

git config core.fileMode falseを使用して chmodの違いを無視 (または。git/configファイルを直接編集します)。

これをgit config --global core.filemode falseのグローバル設定として設定することもできます。

22
Juuso Ohtonen

改行の問題です。これをWindowsマシンに設定します。

git config --global core.autocrlf true
15
Ruslan Osipov

提案された修正はどれも私にはうまくいきませんでした。しかし、私はCygwinをインストールし、TortoiseGitはインストール時にそのパスを取得しました。公式のGitパッケージをインストールして解決し、TortoiseGitのパスを変更しました。

10
BoneGoat

TortoiseGitをCygwingitで使用する場合(公式にはサポートされていません)、いくつかの追加のセットアップ手順を実行する必要があります。

  1. [CYGWIN-INSTALL-PATH]\bin-folderをgit.exeフォルダーとして選択します。

  2. CygwinとTortoiseGitが同じホームディレクトリとグローバルgit-configを使用するように、WindowsでHOME環境変数を構成します。ここでは通常のWindows表記を使用します(例:C:\Users\USERNAME)。デフォルトでは、TortoiseGitは通常c:\ Usersの下にあるWindowsホームディレクトリを使用し、Cygwinは[CYGWIN-INSTALL-PATH]\homeの下にある独自のホームディレクトリを使用します。

  3. AutoCrLfを設定します。これは、TortoiseGitとCygwinGitのデフォルトが異なるために必要です。 CygwinGitのデフォルトはtrueです。

  4. TortoiseGitに移動し、Advanced Settingsというセクションに移動し、CygwinHacktrueに設定して、cygwinの回避策をアクティブにします。

  5. リブート。

ステップ4は非常に重要であり、私にとって問題を解決しました。

リファレンス(Cygwin Gitセクションを参照): https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html

7
Gene Pavlovsky

私はちょうどこの問題を抱えていました、そして私にとって修正は非常に簡単であることがわかりました。

現在実行中のgitプロセスがないことを確認してから、.git\index.lockを削除します。

この後、私のファイルの変更された状態は正しく処理されました。

1
GlacialSpoon

他の誰かを助けるかもしれないので、ここに答えとして投稿するだけです。

CygwinとTortoiseGitがインストールされている場合、0行を追加して0行を削除してコードをマージしようとすると、多くのファイルが表示されるだけで、ちょっとイライラします。

上記のオプションをgitconfigに追加しようとしましたが、役に立ちませんでした。

任意のフォルダを右クリックするだけで、

亀の設定->一般->初回ウィザードの再実行

ここで、他のGit.exeをポイントしてgit.exeへのパスを変更できます。また、Gitbashがインストールされている場合は、そのgit.exeもポイントできます。既存のパスがCygwin/bin/git.exeからのものであり、他のgit.exeに更新されていることを確認してください。

0
NeverGiveUp161