I am having issues with my git on a windows machine. I always have some git files that are modified in every repo, the files that show as modified are same.
If I clone a new repo and use tortoisegit to commit I see some files as modified, even if I never touched a single file in the repo. "gitstatus" doesnt show any modifications though
Any help is appreciated. Thanks
Check if the changes are merely changes in file permissions. This was the reason in my case, both TortoiseGit and Git Extensions displayed unmodified files.
Use git config core.fileMode false
to ignore chmod differences (or directly edit the .git/config file).
You may also want to set this as the global config with git config --global core.filemode false
.
It's line endings issue. Set this on your windows machine:
git config --global core.autocrlf true
None of the proposed fixes worked for me. However, I had Cygwin installed and TortoiseGit picked up its path when installed. I solved it by installing the official Git package and changed the path in TortoiseGit.
If using TortoiseGit with Cygwin git (not officially supported), several extra setup steps should be done:
Select the [CYGWIN-INSTALL-PATH]\bin-folder
as git.exe folder.
Configure the HOME
environment variable in Windows, so that Cygwin and TortoiseGit are using the same home directory and global git-config. Use the normal Windows notation here (e.g., C:\Users\USERNAME
). By default, TortoiseGit uses the Windows home directory which is normally located under c:\Users and Cygwin uses its own home directories which are located under [CYGWIN-INSTALL-PATH]\home
.
Configure AutoCrLf
, this is necessary as TortoiseGit and Cygwin Git have different defaults. The default in Cygwin Git is true
.
Go to TortoiseGit the section called Advanced Settings
and set CygwinHack
to true
in order to activate cygwin workarounds.
Reboot.
Step #4 is crucial and resolved the problem for me.
Reference (see Cygwin Git section): https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html
I just had this problem and for me the fix turned out to be quite simple.
Ensure there are no git processes currently running and then delete .git\index.lock
.
After this the modified state of my files were handled correctly.