.. _git-tips:
GIT tips
========
If you are new to Git and GitHub, this page helps you getting started by explaining
how to make some modification to a repository. The explaining assumes that you
are trying to modify this website, but it should work for most repositories.
1. Set Up Your SSH Key
______________________
To securely connect with GitHub, you'll need to add your SSH key to your GitHub
account. |public_key|, you can find how to add your public key to your account.
.. |public_key| raw:: html
here
2. Clone a GitHub Repository
____________________________
If you are not a member of the `psm-compute` organization, fork
the repository (i.e. create a duplicate of the repository in your own GitHub account),
then clone it (see below).
If you are a member, natigate to the |repository|, click on `Code`, then copy
the `SSH` link and clone the repository using :code:`git clone` :
.. |repository| raw:: html
here
.. code:: bash
git clone git@github.com:psm-compute/psm-compute.github.io.git
This command will create a local copy of the repository on your computer.
3. Check the Status of Your Repository
______________________________________
From you computer, when you start making modifications to the files, it's a
you can check the status of your repository to see if there are any changes:
.. code:: bash
git status
4. Create and Switch to a New Branch
____________________________________
To make changes without affecting the main branch, create a new branch:
.. code:: bash
git branch update_readme
and then, switch to the new branch:
.. code:: bash
git checkout update_readme
5. Edit Files and Stage Changes
_______________________________
Make the necessary edits to the files. For example, to edit the `README.md` file,
use a text editor like `vi`:
.. code:: bash
vi README.md
After editing, check the status again to see the changes:
.. code:: bash
git status
Stage the changes to prepare them for commit:
.. code:: bash
git add README.md
6. Commit and Push Changes
__________________________
Commit your changes with a descriptive message:
.. code:: bash
git commit -m "Modified the README.md file"
Next, push your changes to GitHub:
.. code:: bash
git push
If it's the first time you're pushing from this branch, you'll need to set the
upstream branch:
.. code:: bash
git push --set-upstream origin update_readme
7. Create a Pull Request
________________________
Finally, open your web browser and navigate to the GitHub repository (|repository|):
After pushing your changes, you should see a message indicating the recent
pushes. Click on **"Compare & pull request"**. On the right side of the page,
select your reviewers, and add a description if needed. This will create a pull
request for your changes to be reviewed and merged.
8. Delete the Branch Locally (Optional)
_______________________________________
Once your changes are merged with the main branch, and if you no longer need the
branch locally, you can delete it:
.. code:: bash
git branch -d update_readme