A .gitignore
file allows to ignore files from version controlling them at all.
We have a different situation: we want to place in the repository some configuration files, that need to be changed on per-machine basis (db access info for instance).
We do want to distribute them, as placeholders, so we include them into the repository. However, later we want any changes to them to be ignored, for all developers.
Is there a way to do it?
Note:
The question Git: Ignoring Version-Controlled Files is actually the same. However, none of the answers answered the question, including the accepted one.
Edit:
If you want to ignore a file that you've committed in the past, you'll need to delete the file from your repository and then add a . gitignore rule for it. Using the --cached option with git rm means that the file will be deleted from your repository, but will remain in your working directory as an ignored file.
When Do You Use Git Ignore File? The git ignore file rule allows you to ignore a file you've committed in the past. You use it when you do not want to recommit a file, for example a build artifact.
If you already git add ed some files, their changes will still be tracked. To remove those files from your repository (but not from your file system) use git rm --cached on them. git rm --cached file_name. ext wroks fine for me to update gitignore for one file.
Git Ignoring Files and Folders Checking if a file is ignored From Git 1.7. 6 onwards you can also use git status --ignored in order to see ignored files. You can find more info on this in the official documentation or in Finding files ignored by .
I define the following aliases in my .gitconfig
file:
[alias]
ignore = update-index --assume-unchanged
unignore = update-index --no-assume-unchanged
That should do exactly what you want: running git ignore some-file
will treat the file as unchanged no matter what you do to it, until you run git unignore some-file
.
I know this kind of dodges the issue, but I would have a ".defaults" file for each, and then change this. This helps with the configuration energy anyway - what if someone who has a custom configuration wants to change the defaults?
Don't ignore the .defaults, ignore the actual thing. Maybe have a script that copies the .defaults to the regular ones if they don't already exist.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With