Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Separate files in Git

Tags:

git

branch

heroku

I'm trying to keep my static files in a separate branch so that I can keep them from merging into my master brach (on Heroku, your application's slug needs to stay small). I don't want to ignore my static files, because I want to keep them inside my "devel" branch.

Ideally I'd like to keep test.db blank and my entire public folder blank in the master branch.

So, can I create an 'overlay' onto a branch? Can I prevent certain files/directories from merging into my master branch?

like image 638
arbales Avatar asked Sep 15 '09 06:09

arbales


1 Answers

You could define those same static files on your master branch but:

  • empty
  • witw a gitattributes files specifying you always want to keep your local version (i.e. empty) when merging those files

Since that .gitattribute would not be define on other branches, the merge of those files would proceed normally.


The idea is to define a .gitattributes file in the directory of those static files on the master branch with the following content:

myStaticFile1 merge=keepMine
myStaticFile2 merge=keepMine
myStaticFile3 merge=keepMine

Those three files will always keep their local content (which is empty on master) when merging to master.

You will have to define a merge driver (here called "keepmine"). See the linked question for that script.

like image 56
VonC Avatar answered Oct 26 '22 20:10

VonC