.. _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`_.