Search code examples
gitrepositorygitignoregit-clone

Git: File that must be distributed, but ignored / not reuploaded?


Possible Duplicate:
git: can i commit a file and ignore the content changes?

I have a simple problem, and I hope there's a simple solution.

Using Git (and Tower, great app), I have a repository that has a file that everyone needs to download when they clone the repo, BUT that file should never be reuploaded with changes (because it's a configurtion file, with database-specific usernames / passwords, and paths) - the changes are made only when used locally.

What I want to do is ignore whatever change I made locally to that file, so the file won't get updated when I push changes to my repo. How can this be achieved?

It should be noted that:

  1. When I clone the repo, the file shows up, but when I ignore it (local only, not via .gitignore) I have to untrack it, and when I do and push changes back to the server, anyone that clones the repo will NOT download the file << undesired behavior.

  2. If I ignore the file but I DON'T untrack it, the file still shows up in my working directory, waiting to be commited << undesired behavior.


Solution

  • Commit an example file, gitignore the real name, and have your contributors copy the example into the proper location, then configure it. Alternately, provide a setup script that copies the example and does those steps.