There is nothing changed, but eclipse egit marks the file as changed
GitEgitGit Problem Overview
I'm using eclipse egit with github. I found something strange that I didn't change anything, but egit marked the file as "changed". See the images:
-
the file "run.bat" is marked as "changed"
-
Compare with "file in Git index", you can see nothing is different
-
Compare with "file in HEAD", you can see nothing is different neither
My friend uses mac and I use windows, but we all configured git as "commit unix lineend".. I also checked the lineend of my source and the HEAD, they are the same(I configured git to convert them to "\r\n" when pulling)
Where is wrong? Is it a bug of Egit?
Git Solutions
Solution 1 - Git
Eclipse Preferences / Team / Git / Configuration / User Settings
("core" section)
key: autocrlf
value: false
The key should already exist, so just need to edit the value.
If creating a new key then use core.autocrlf
.
Solution 2 - Git
One of the first things I've had issues with in Git.
I've said this forever:
git config --system core.autocrlf false
To get rid of CR highlighting in diff and patch views, use:
git config --system core.whitespace cr-at-eol
If you share your computers with others, replace '--system' with '--global'.
Solution 3 - Git
As a follow up, as I just ran into the same issue, another reason for EGit detecting all files as changed is a POSIX file permission problem at least when used together with Cygwin's git.
The following will fix that; however keep in mind that this also means that they are ignored then:
$ git config core.filemode false
Solution 4 - Git
For eclipse specific issues for linefeed, you can also change the return character in Eclipse Preferences where you can change the New text file line delimiter from Windows syntax to Unix which should help.
Solution 5 - Git
you can ignore whitespace differences with Eclipse settings under Compare/Patch. Preferences-->General-->Compare/Patch,you can find the "Ignore white space" in the right,and select this option.
Solution 6 - Git
I also have the same issue from the Eclipse git commit is showing this issue
once modified file and finally removed the changes from the file even though it showing the file in Un staged changes section.
Solution:
Eclipse -> Window -> Preferences -> Team -> Git -> Configuration -> User Settings (right side tab)
click on Add Entry
Key : core.autocrlf
Value: true
click on Ok then click on Apply -> Ok Refresh your "Git Staging tab" or check the Team -> commit option. now it will only show the exact changes only.
Solution 7 - Git
i had the same issue and nothing of the proposed solutions did work. i hat the autocrlf
feature turned off, the latest version of egit and git installed. the line endings of the repository and local files were both matching.
the problem was caused by an entry in the .gitattributes:
* text=auto eol=lf
i could therefore:
- remove the attribute
- commit the changes
but what also did work was to go to command line and type
> git reset --hard
and then refresh in eclipse.
Solution 8 - Git
In General->Workspace. Select Text encoding UTF-8