Git: How to add files and subfolders in a gitignore'd folder
开发者_Python百科Suppose I have a folder
application/uploads
EDIT
application/uploads/{a}/{b}/{c}/{d}/{e}/{f}/{g}/abcdefghijklmnopqrstuvwxyz
{a},{b},{c},{d},{e},{f},{g}
- are hash keys, any alpha-numeric characters are possible
abcdefghijklmnopqrstuvwxyz - is a hashed filename
I don't want git to track it neither on development machines nor on production server, so it is added to a .gitignore file.
Suppose now I've created a branch "Backups" on the production server where I want to store the state of the project at different moments of time.
To do that I need to 'add' and 'commit' all files of a project including those which are under .gitignore
Note: Changing .gitignore is a bad idea in general because
It might cause problems when pulling changes from develment branches
In a heavily loaded and recently changing project it will be a problem to checkout other branch because of new untracked files that are added each second right after you finished adding and commiting the previous ones
etc...
So the question: How do I force git to 'add' files that are under .gitignore ad then 'commit' them without actually changing .gitignore?
From the git-add
manpage:
-f, --force
Allow adding otherwise ignored files.
.gitignore allows not only to ignore but also to re-add, it's the exclamation mark:
!add-this-dir/file/whatever
You will find this properly documented here, if you're in shell type git help gitignore
.
精彩评论