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.

  • Can not delete an GitHub repository
  • How to import an existing bare git repository into Gitlab?
  • What is the best way to share some personal test code between repositories by CocoaPods podspec dependency?
  • Git pull - deleted files
  • GIT for Windows. All files have a question mark on the icon
  • Clone subfolder using Github Desktop
  • How can I uncommit the last commit in a git bare repository?
  • Git putting folders in folders - In a repository
  • 2 Solutions collect form web for “Git: File that must be distributed, but ignored / not reuploaded?”

    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.

    This is properly addressed with smudge/clean scripts.

    Alternatively, scripts that do the deploy reset the user names and passwords.

    Bending tracking and ignoring is not the way to solve this issue.

    Hope this helps.

    Git Baby is a git and github fan, let's start git clone.