I have a project in git with a bunch of graphics (.jpg, .png, .tiff, etc). The graphics extensions are in my .gitignore (this can change) because I do not need to version the graphics (the department responsible for graphics has version cue and tracks their own changes to the graphics). However, when I push, it seems only the tracked content gets to the repository. I need the graphics to be pushed with the repository, but I do not want to track the graphics files, how would I do this (or is it even possible)?
Tracked files are files that should go in the repository, so if you want the graphics in the repository, you want them tracked.
Also--while the department doing the graphics may track their changes to the files, you'll want to track the graphics file that you're using with the project, which is different. Tracking those for your project with git accomplishes that.
You can't push unless it's tracked.
Are you using the push as a deployment step? If so you either want to track the graphics files in order to push them. Or you want a seperate deployment step for the graphics files. Personally I'd just add the graphics files to the repo. Disk space is cheap.
You can add files to repository even if they are ignored (match pattern in .gitignore
).
You can push with git only what is comitted, so you can't push (using git) untracked files. You can use other mechanizm like rsync or scp instead (if it is on other server).
Depending on your project, if you have a large number of those graphics, you may want to keep all those images in a database table. That's what BLOBs are for.