.. _git_workflow:
Git and GitHub workflow
=======================
The preferred workflow for contributing to skpro's repository is to
fork the `main
repository `__ on
GitHub, clone, and develop on a new branch.
1. Fork the `project
repository `__ by
clicking on the 'Fork' button near the top right of the page. This
creates a copy of the code under your GitHub user account. For more
details on how to fork a repository see `this
guide `__.
2. `Clone `__
your fork of the skpro repo from your GitHub account to your local
disk:
.. code:: bash
git clone git@github.com:/skpro.git
cd skpro
where :code:`` is your GitHub username.
3. Configure and link the remote for your fork to the upstream
repository:
.. code:: bash
git remote -v
git remote add upstream https://github.com/sktime/skpro.git
4. Verify the new upstream repository you've specified for your fork:
.. code:: bash
git remote -v
> origin https://github.com//skpro.git (fetch)
> origin https://github.com//skpro.git (push)
> upstream https://github.com/sktime/skpro.git (fetch)
> upstream https://github.com/sktime/skpro.git (push)
5. `Sync `_
the ``main`` branch of your fork with the upstream repository:
.. code:: bash
git fetch upstream
git checkout main
git merge upstream/main
6. Create a new ``feature`` branch from the ``main`` branch to hold
your changes:
.. code:: bash
git checkout main
git checkout -b
Always use a ``feature`` branch. It's good practice to never work on
the ``main`` branch! Name the ``feature`` branch after your
contribution.
7. Develop your contribution on your feature branch. Add changed files
using ``git add`` and then ``git commit`` files to record your
changes in Git:
.. code:: bash
git add
git commit
8. When finished, push the changes to your GitHub account with:
.. code:: bash
git push --set-upstream origin my-feature-branch
9. Follow `these
instructions `__
to create a pull request from your fork. If your work is still work
in progress, open a draft pull request.
.. note::
We recommend to open a pull request early, so that other contributors become aware of
your work and can give you feedback early on.
10. To add more changes, simply repeat steps 7 - 8. Pull requests are
updated automatically if you push new changes to the same branch.
.. _Discord: https://discord.com/invite/54ACzaFsn7
.. note::
If any of the above seems like magic to you, look up the `Git documentation `_.
If you get stuck, chat with us on `Discord`_, or join one of the community sessions on `Discord`_.