I have a repo called myrepo
on the remote beanstalk
server.
I cloned it to my local machine. Created two additional branches: staging
and dev
.
Pushed these branches to remote as well.
Now:
local remote server
--------------------------------------------------------
master ==> Pushes to `master` ==> deployed to `prod`
staging ==> Pushes to `staging` ==> deployed to `staging`
dev ==> Pushes to `dev` ==> deployed to `dev`
I have a file called config.xml
which is different on each branch.
I want to ignore this file only during merges. But I want this to be included when I checkout or commit from/to the repo branch.
The reason I want this is, we have a deploy script that pulls (checkout) the specific branch and deploys on the respective servers. So we need config.xml
file of that specific branch go into the specific server as indicated above when deployed.
I guess .gitignore
wont work. What are the other options? Note that the ignored file should be part of checkout and commit, which is important. it should be ignored only during merges.
Thanks!
I ended up finding git attributes
. Trying it. Working so far. Did not check all scenarios yet. But it should be the solution.