By default, Git sees every file in your working directory. This has the ugly side effect that sooner or later you end up with a temporary Excel file under version control.
When you open your Excel workbook
Book1.xlsb, Excel creates a temporary file called
~$Book1.xlsb. It should be automatically deleted after the workbook is correctly closed.
~$Book1.xlsb is usually hidden, Git treats it like any other file, unless Git is explicitly instructed to ignore it. This is what
.gitignore does: In
.gitignore you can list path and file name (patterns) that you want Git to ignore.
Create a gitignore file
Create a file named
.gitignore in the root folder of your repository's working directory. Add the following conent to the
This ensures that Git ignores any file starting with
~$. For a full reference of valid patterns, see https://git-scm.com/docs/gitignore.
Add, commit and push
.gitignore like any other file.
git add .gitignore git commit -m 'Adding gitignore' git push origin master
If you have already committed a
~$ temporary Excel file, adding
.gitignore will have no effect. The reason is that files that are already tracked by Git are not affected.
To stop tracking a file that is currently tracked, run
git rm --cached ~$Book1.xlsb
~$Book1.xlsb from the cache (adjust this for your specific file path).
Other ways to ignore temporary Excel files
An alternative approach is to define a global ignore file. If you define your global gitignore patterns in
C:\Users\Bjoern\.gitignore_global, you can tell Git with the following command:
git config --global core.excludesfile C:\Users\Bjoern\.gitignore_global
Every rule which goes into this file applies to every Git repository in your user account. This is especially useful for OS-specific files like
.DS_Store on macOS or
thumbs.db on Windows.
If you go down this route, remember that every user has to define their global gitignore file as it is not part of the repository.