Built with Jekyll and Bootstrap 4
Note: we used github pages during site construction, that is being discontinued henceforth (since deployment to permanent server) due to issues with baseurl and _config.yml
- Install jekyll and associated dependencies, like bundler, Ruby, etc.
- Fork and clone the repository. For solely local testing, just cloning will do.
- cd into the repo folder and run
bundle exec jekyll serve
. See jekyll docs for more details. - Navigate to
localhost:4000/
(by default)
As of now, we're employing a very rudimentary deployment system, essentially scp-ing the built site into the server.
The basic steps are highlighted hence:
- Build the site
- scp all contents of site into the site/ directory of the server home
Suggestions welcome
https://musescore.org/en/handbook/developers-handbook/finding-your-way-around/git-workflow
- Fork on GitHub (click Fork button) (if you don't have master access)
- Clone to computer, preferably use SSH URL (
git clone git@github.com:you/MuseScore.git
) - Don't forget to cd into your repo: (
cd MuseScore/
) - Set up remote upstream (
git remote add upstream git://github.com/musescore/MuseScore.git
) (for forks) - Create a branch for new issue (
git checkout -b 404-new-feature
) - Develop on issue branch. [Time passes, the main MuseScore repository accumulates new commits]
- Commit changes to your local issue branch. (
git add . ; git commit -m 'commit message'
) - Fetch upstream (
git fetch upstream
) (for those with master access, fetch origin) - Update local master (
git checkout master; git merge upstream/master
) - Rebase issue branch (
git checkout 404-new-feature; git rebase master
) - Repeat steps 6-11 until dev is complete
- Push branch to GitHub (
git push origin 404-new-feature
) - Start your browser, go to your GitHub repo, switch to "404-new-feature" branch and press the [Pull Request] button
After having made a Pull Request don't pull/merge anymore, it'll mess up the commit history. If you (have to) rebase, use 'push --force' (git push --force
) to send it up to your GitHub repository, this will update the PR too. Be careful not to do this while the core team is working on merging in your PR.
// Reference: http://lea.verou.me/2011/10/easily-keep-gh-pages-in-sync-with-master/
$ git add .
$ git status // to see what changes are going to be commited
$ git commit -m 'Some descriptive commit message'
$ git push origin master
$ git checkout gh-pages // go to the gh-pages branch
$ git rebase master // bring gh-pages up to date with master
$ git push origin gh-pages // commit the changes
$ git checkout master // return to the master branch
Main changes are incorporated from branches into master, then into gh-pages. Ideally.