I am about to upgrade our Magento store from 1.5.0 to 1.6.0, I know how I want to do it, but I'm a little unsure on the commands I needs to use.
For starters I have my current store on our production server, I have git setup and a duplicate of the repo is on our Beanstalk account. I have a full history of changes etc. within that repo and would ideally like to keep those in place.
I have a theme that we purchased and then quite heavily optimised but thankfully almost all optimisations are within an override.css file. Although, there are a few minor code changes within the theme files themselves.
As Magento use SVN as their CVS I have found (on Github) a mirror of Magento releases.
So, so far I have three locations that I would like to 'merge':
I was thinking of adding the Magento mirror as a branch to my existing git repo, calling it 1.6.0 or similar. Then somehow pulling the plain theme directories and file into the master branch...
Am I on the right lines?
I was also thinking, to protect the production site, of adding a staging version of the website to run these merges on to test them.
It's rather easy but you have to ensure that your site is based on some master repo that can be merged down the stream with earlier versions (repo that has all Magento versions as tags or branches that can be merged to latest from first). So here's two scenarios to follow
It's common to have a git setup like follows:
MAGENTO MASTER -> REMOTE ORIGN THAT HAS ALL MAGENTO VERSIONS
YOUR MASTER -> REMOTE ORIGIN IS MAGENTO MASTER
You always develop on your_dev branch andif changes are ready for evaluation you merge _stage with _dev and if changes are approved you merge the state to _live either from _dev or from _stage.
git clone git://github.com/speedupmate/Magento-CE-Mirror.git yourprojectdir
cd yourprojectdir
git fetch --tags
git tag
git checkout -b yoursite_dev magento-1.5.0.1
git checkout -b yoursite_stage yoursite_dev
git checkout -b yoursite_live yoursite_dev
git checkout yoursite_dev
git branch
//copy in your site
//separate changes or originals
//add any file/dir with local importance to .gitignore
//turn of your default theme, disable all local/community extensions and overrides
//assuming you are on dev branch commit your clean state
git merge magento-1.6.0.0
//visit the site to execute the upgrade
//enable your theme , extensions , debug
this gives you a starting point for scenario 1 and after that you could just copy in your site and start separating changes and making order in your current site and themes
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.