Working with git
Forking - branching - changing - pushing - PR
This is a general workflow in how to work on your own fork (copy) of the Infectious Diseases Toolkit repo and request changes through a pull request:
NOTE: if you already did these steps in the past, start from the
git fetch upstream command.
- Make a fork of this repository, using the fork button.
- Open a terminal and clone your fork using:
git clone email@example.com:USERNAME/infectious-diseases-toolkit.git cd infectious-diseases-toolkit
NOTE: Make sure you clone the fork and not the original elixir-europe/infectious-diseases-toolkit one.
- Keep your fork up to date (IMPORTANT!).
git remote add upstream https://github.com/elixir-europe/infectious-diseases-toolkit.git git fetch upstream git checkout master (if you are not already on the master branch, check with `git branch`) git pull upstream master
- Create a new branch named after your feature/edit.
git checkout -b 'FEATURE_NAME'
- Make the changes you want to make using an editor of choice
- Open terminal and stage your changes:
git add .
- Committing changes
git commit -m "Changing the tool-resource file"
- Pushing you changes to your fork
git push origin 'FEATURE_NAME'
- Go to https://github.com/elixir-europe/infectious-diseases-toolkit and click on Compare & pull request
- Open the pull request an describe your changes.
- Wait for review by other editors. Editors that are responsible for the sections you make changes to will be assigned as reviewer automatically.
The advantage of working locally: previewing your changes through your web browser
The website is build on GitHub using Jekyll, a simple, static site generator based on ruby. When you have a local copy cloned onto your computer, it is possible to generate the website based on this repo. This makes it possible to preview changes live, every time you save a file from within the GitHub Infectious Diseases Toolkit repo. Follow these steps to deploy the website based on your local clone (copy) of the Infectious Diseases Toolkit repo:
Make sure you have cloned the Infectious Diseases Toolkit repo:
git clone firstname.lastname@example.org:USERNAME/infectious-diseases-toolkit.git cd Infectious Diseases Toolkit
To run the website locally, you can either use Docker or use Jekyll directly after installing various dependencies.
Run using Docker
- If not already installed on your machine, install Docker. From the root of the
docker run -it --rm -p 4000:4000 -v $PWD:/srv/jekyll jekyll/jekyll:latest /bin/bash -c "chmod a+w /srv/jekyll/Gemfile.lock && chmod 777 /srv/jekyll && jekyll serve -w"
This will start the docker container and serve the website locally.
Run using Jekyll directly
If not already present on your machine, install ruby. Note that incompatibility issues may arise with ruby 3.0.0 (released 25.12.20) or newer versions.
- Install Jekyll
If you have never installed or run a Jekyll site locally on your computer, follow these instructions to install Jekyll:
- Install Jekyll on MacOS/Ubuntu/Other_Linux/Windows: https://jekyllrb.com/docs/installation/
Install Bundler and Jekyll
gem install jekyll bundler
bundle exec jekyll serve
Additional information can be found at the following link: https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll