Sourcetree not detecting changes to a .dll file

Viewed 1608

I have a .dll file that is tracked and added to source control (so it's not being ignored anywhere). The problem is that I recently updated it but Sourcetree is not detecting that it changed.

3 Answers
  • Try adding it again using git add -f One reason is "*.dll" might be in your global ignore. We can use git check-ignore to find out where the global gitignore file is.
  • We can use the below command to check the files which are ignored by the gitignore: git ls-files . --ignored --exclude-standard --others

First, switch to command-line, using the latest Git for Windows, in a CMD session with a simplified PATH.

There, go to your repo root folder, and type, using git check-ignore :

git check-ignore -v -- path/to/your/file.dll

If that returns nothing, you are sure it is not ignored, and should be tracked.

Type, using git check-attr:

git check-attr --all -- path/to/your/file.dll

If that returns nothing, that means no .gitattributes directive would be influencing the diff which should be detected.

Make sure git status mentions that you are on a branch (instead of a detached HEAD)


Update Feb. 2019 for Git 2.21: Asking "git check-attr" about a macro (e.g. "binary") on a specific path did not work correctly, even though "git check-attr -a" listed such a macro correctly. This has been corrected.

See commit 7b95849 (18 Jan 2019) by Jeff King (peff).
(Merged by Junio C Hamano -- gitster -- in commit 02bf766, 05 Feb 2019)

That means, with Git 2.21, git check-attr binary file should return file: binary: set. (instead of file: binary: unspecified)

Related