Reputation: 5858
We're migrating from Perforce to GIT. In perforce, there were some files that I'd want in the repository, but they shouldn't be checked in by individual developers regularly. Things like eclipse project files. Each dev might get the initial .project file, but then tweak it slightly for their environment.
With P4, I could take those files, put them in a separate changelist and forget about them. Syncing wouldn't overwrite them and they wouldn't get committed when I commited my default changelist.
Is there a way to do something similar with GIT?
I'd like to still be able to "git commit -a"
Upvotes: 11
Views: 2740
Reputation: 1329092
If you need a common base for those (.project
, .classpath
, ...), you can:
.project_tpl
, .classpath_tpl
, ...)(the 'clean
' step during commit wouldn't do anything for those templates.
Only the 'smudge
' step is used here, to generate the private files)
Note: this is a slight "mis-use" of a filter driver, which is supposed to process only file contents, not to generate new ones.
But it could help you in your scenario (provided your 'smudge
' script doesn't overwrite blindly the eclipse files if they happen to already be here.)
Upvotes: 7
Reputation: 118108
You are probably looking for
git update-index --assume-unchanged .project
Upvotes: 11