Repository: galaxyproject/training-material
Pull request #5844: Github Desktop version of how to contribute
Author: login: nomadscientist
Labels: name: dev
name: introduction
name: template-and-tools
name: contributing
name: faqs
Created: 2025-03-12T22:07:52Z | Merged: 2025-03-14T13:10:37Z

I genuinely thought I'd already made this, but I hadn't, and it's important!

CYOA of using Github for GTN, either through Command Line or Desktop.

1.  I removed the line about 'staying up to date' in Desktop because I *think* it automatically makes new branches based on the GTN master, not the individual user's master... hopefully.

2. It has a lot of screenshots, which ages very poorly, however the UI has been pretty consistent so I'm hoping it lives.

3. I removed the instruction to close the PR. I actually think it's super valuable to have them go through a PR process on a very small scale. It might be a thought to limit the Hall of Fame to people who have actually created something, or have like a subsection on the page of soon-to-be contributors, so that they see their PR has actually created something.


Diff:
diff --git a/CONTRIBUTORS.yaml b/CONTRIBUTORS.yaml
index 0628ca8f31e96a..3c19849467f538 100644
--- a/CONTRIBUTORS.yaml
+++ b/CONTRIBUTORS.yaml
@@ -2166,7 +2166,7 @@ pcm32:
     name: Pablo Moreno
     joined: 2019-06
 
-philreeddata:
+PhilReedData:
     name: Phil Reed
     orcid: 0000-0002-4479-715X
     bluesky: philreeddata.bsky.social
diff --git a/faqs/gtn/gtn_minor_correction.md b/faqs/gtn/gtn_minor_correction.md
index 781f3a38b1547b..c1d25e89804841 100644
--- a/faqs/gtn/gtn_minor_correction.md
+++ b/faqs/gtn/gtn_minor_correction.md
@@ -2,12 +2,12 @@
 title: Making a minor correction to any training material
 box_type: tip
 layout: faq
-contributors: [philreeddata, nomadscientist]
+contributors: [PhilReedData, nomadscientist]
 area: contributors
 redirect_from: [faqs/gtn/contributors_github_interface]
 ---
 
-If you find a minor mistake in any GTN training material, we encourage you to propose a correction. For small changes such as typos, this can be done from the browser. If you can implement the corrections yourself, in the context of where they happen, this saves a lot of time for the editors.  When you submit your suggestion, it will be carefully checked by an expert, so do not worry about breaking anything! 
+If you find a minor mistake in any GTN training material, we encourage you to propose a correction. For small changes such as typos, this can be done from the browser. If you can implement the corrections yourself, in the context of where they happen, this saves a lot of time for the editors.  When you submit your suggestion, it will be carefully checked by an expert, so do not worry about breaking anything!
 
 Outline of the steps:
 
@@ -25,7 +25,7 @@ In this example, we will show how to correct a typo in the metadata of a learnin
 
 ![A training material page]({% link faqs/gtn/images/minor-fix-02.png %} "At the top a training material, click Settings then Propose a change or correction")
 
-1. From the [learning pathways page]({% link learning-pathways/ %}), you can see the tags below each pathway. Here, one of the pathways has a tag 'introcuction', which should be 'introduction'. 
+1. From the [learning pathways page]({% link learning-pathways/ %}), you can see the tags below each pathway. Here, one of the pathways has a tag 'introcuction', which should be 'introduction'.
 2. Click to open the page.
 3. At the top-right of the page, click **Settings** then **Propose a change or correction**. This will open the page in edit mode. The training material is stored in GitHub, an external site, but we will walk you through how to navigate it.
 
@@ -47,8 +47,8 @@ In this example, we will show how to correct a typo in the metadata of a learnin
 
 ![Commit changes]({% link faqs/gtn/images/minor-fix-07.png %} "Give a summary and 'commit' them")
 
-1. When you have finished making corrections, click the **Commit changes...** button. 
-2. You will be asked to provide a brief summary of the changes you have made. In the box labeled **Commit message**, type a summary. 
+1. When you have finished making corrections, click the **Commit changes...** button.
+2. You will be asked to provide a brief summary of the changes you have made. In the box labeled **Commit message**, type a summary.
 3. You do not need to give an extended description here.
 4. Click the **Propose changes** button.
 
@@ -62,7 +62,7 @@ In this example, we will show how to correct a typo in the metadata of a learnin
 2. Click the **Create pull request** button. This will open a pull request; this is a submission of your proposal that contains all the essential information for the editors and the platform to implement and apply the correction.
 3. The **title** will be the same as the commit message you typed earlier.
 4. Add a **description** which describes your changes. You can include links as required.
-5. Click the **Create pull request** button. Your change has now been submitted, or, in GitHub terms, you have now opened a pull request. 
-6. The pull request will need to be reviewed by a human. There are also some automated checks that will be run. After all this is completed, if your request is approved, it will be applied (or 'merged' in GitHub terms). 
+5. Click the **Create pull request** button. Your change has now been submitted, or, in GitHub terms, you have now opened a pull request.
+6. The pull request will need to be reviewed by a human. There are also some automated checks that will be run. After all this is completed, if your request is approved, it will be applied (or 'merged' in GitHub terms).
 
 {% icon congratulations %} Thank you for helping improve our training materials.
diff --git a/learning-pathways/io1.md b/learning-pathways/io1.md
index f136ea2ffc72fc..279f28747da90c 100644
--- a/learning-pathways/io1.md
+++ b/learning-pathways/io1.md
@@ -98,7 +98,7 @@ pathway:
         topic: data-science
       - name: git-cli
         topic: data-science
-      - name: github-command-line-contribution
+      - name: github-contribution
         topic: contributing
       - name: github-interface-contribution
         topic: contributing
diff --git a/topics/contributing/images/clone_a_repo.png b/topics/contributing/images/clone_a_repo.png
new file mode 100644
index 00000000000000..9312e6ce6638ba
Binary files /dev/null and b/topics/contributing/images/clone_a_repo.png differ
diff --git a/topics/contributing/images/desktop-commit.png b/topics/contributing/images/desktop-commit.png
new file mode 100644
index 00000000000000..494181b9ea0e5f
Binary files /dev/null and b/topics/contributing/images/desktop-commit.png differ
diff --git a/topics/contributing/images/desktop-commit_suggestion.png b/topics/contributing/images/desktop-commit_suggestion.png
new file mode 100644
index 00000000000000..2f1dfc0df98be7
Binary files /dev/null and b/topics/contributing/images/desktop-commit_suggestion.png differ
diff --git a/topics/contributing/images/desktop-contributors_file.png b/topics/contributing/images/desktop-contributors_file.png
new file mode 100644
index 00000000000000..9806fe54867f65
Binary files /dev/null and b/topics/contributing/images/desktop-contributors_file.png differ
diff --git a/topics/contributing/images/desktop-create_branch.png b/topics/contributing/images/desktop-create_branch.png
new file mode 100644
index 00000000000000..70ebdc72258453
Binary files /dev/null and b/topics/contributing/images/desktop-create_branch.png differ
diff --git a/topics/contributing/images/desktop-fetch_origin.png b/topics/contributing/images/desktop-fetch_origin.png
new file mode 100644
index 00000000000000..927048c92218bc
Binary files /dev/null and b/topics/contributing/images/desktop-fetch_origin.png differ
diff --git a/topics/contributing/images/desktop-new_branch.png b/topics/contributing/images/desktop-new_branch.png
new file mode 100644
index 00000000000000..c69bbc789e5dff
Binary files /dev/null and b/topics/contributing/images/desktop-new_branch.png differ
diff --git a/topics/contributing/images/desktop-open_in_editor.png b/topics/contributing/images/desktop-open_in_editor.png
new file mode 100644
index 00000000000000..b565f0861b0c0f
Binary files /dev/null and b/topics/contributing/images/desktop-open_in_editor.png differ
diff --git a/topics/contributing/images/desktop-publish_branch.png b/topics/contributing/images/desktop-publish_branch.png
new file mode 100644
index 00000000000000..a844ecc1ab47ff
Binary files /dev/null and b/topics/contributing/images/desktop-publish_branch.png differ
diff --git a/topics/contributing/images/desktop-push_origin.png b/topics/contributing/images/desktop-push_origin.png
new file mode 100644
index 00000000000000..f4311a3ad6ce80
Binary files /dev/null and b/topics/contributing/images/desktop-push_origin.png differ
diff --git a/topics/contributing/images/desktop-select_a_branch.png b/topics/contributing/images/desktop-select_a_branch.png
new file mode 100644
index 00000000000000..f0241e34a9ab07
Binary files /dev/null and b/topics/contributing/images/desktop-select_a_branch.png differ
diff --git a/topics/contributing/images/desktop-select_current_branch.png b/topics/contributing/images/desktop-select_current_branch.png
new file mode 100644
index 00000000000000..9272a36457b357
Binary files /dev/null and b/topics/contributing/images/desktop-select_current_branch.png differ
diff --git a/topics/contributing/tutorials/github-command-line-contribution/faqs/index.md b/topics/contributing/tutorials/github-command-line-contribution/faqs/index.md
deleted file mode 100644
index 9ce3fe4fce824b..00000000000000
--- a/topics/contributing/tutorials/github-command-line-contribution/faqs/index.md
+++ /dev/null
@@ -1,3 +0,0 @@
----
-layout: faq-page
----
diff --git a/topics/contributing/tutorials/github-contribution/faqs/index.md b/topics/contributing/tutorials/github-contribution/faqs/index.md
new file mode 100644
index 00000000000000..536878f0508e61
--- /dev/null
+++ b/topics/contributing/tutorials/github-contribution/faqs/index.md
@@ -0,0 +1,5 @@
+---
+layout: faq-page
+redirect_from:
+  - "/topics/contributing/tutorials/github-command-line-contribution/faqs/index"
+---
diff --git a/topics/contributing/tutorials/github-command-line-contribution/slides.html b/topics/contributing/tutorials/github-contribution/slides.html
similarity index 98%
rename from topics/contributing/tutorials/github-command-line-contribution/slides.html
rename to topics/contributing/tutorials/github-contribution/slides.html
index 1ed094b7aaa076..9bba7f2da6afbd 100644
--- a/topics/contributing/tutorials/github-command-line-contribution/slides.html
+++ b/topics/contributing/tutorials/github-contribution/slides.html
@@ -24,6 +24,8 @@
 contributors:
   - cmonjeau
   - bebatut
+redirect_from:
+  - "/topics/contributing/tutorials/github-command-line-contribution/slides"
 ---
 
 ### Steps
diff --git a/topics/contributing/tutorials/github-command-line-contribution/tutorial.md b/topics/contributing/tutorials/github-contribution/tutorial.md
similarity index 59%
rename from topics/contributing/tutorials/github-command-line-contribution/tutorial.md
rename to topics/contributing/tutorials/github-contribution/tutorial.md
index db345fd4701dd8..1bc1522dbbed2c 100644
--- a/topics/contributing/tutorials/github-command-line-contribution/tutorial.md
+++ b/topics/contributing/tutorials/github-contribution/tutorial.md
@@ -1,7 +1,7 @@
 ---
 layout: tutorial_hands_on
 
-title: "Contributing with GitHub via command-line"
+title: "Contributing the Galaxy Training Network with GitHub"
 questions:
   - "How can I contribute to an open-source project with GitHub?"
   - "What is the GitHub flow?"
@@ -21,16 +21,20 @@ key_points:
   - "1 pull request = 1 branch"
   - "Be careful of the branch you're working on"
   - "Check the automated tests"
-contributors:
+contributions:
+  authorship:
   - cmonjeau
   - bebatut
+  - nomadscientist
+  reviewing:
+  - PhilReedData
+  - shiltemann
+redirect_from:
+  - "/topics/contributing/tutorials/github-command-line-contribution/tutorial"
 ---
+Most of the GTN content is written in [GitHub Flavored Markdown](https://guides.github.com/features/mastering-markdown/) with some metadata (or variables) found in [YAML](http://yaml.org/) files. Everything is stored on a [GitHub](https://github.com) repository: [{{ site.github_repository }}]({{ site.github_repository }}).
 
-
-
-Most of the content is written in [GitHub Flavored Markdown](https://guides.github.com/features/mastering-markdown/) with some metadata (or variables) found in [YAML](http://yaml.org/) files. Everything is stored on a [GitHub](https://github.com) repository: [{{ site.github_repository }}]({{ site.github_repository }}).
-
-The process of development of new content is open and transparent, using git and following the [GitHub flow](https://guides.github.com/introduction/flow/):
+The process of development of new content is open and transparent, using git and following the [GitHub flow](https://guides.github.com/introduction/flow/), which we will walk you through:
 
 ![Open source development process](../../images/oss_development_process.png "Open source development process")
 
@@ -52,8 +56,30 @@ The process of development of new content is open and transparent, using git and
 >
 {: .agenda}
 
+# Create a GitHub account, if you have not already
+
+> <hands-on-title>Create a GitHub account</hands-on-title>
+>
+> 1. Go to the [GitHub website](https://github.com)
+> 2. Create an account & follow the instructions. If anything is unclear, you can check [their documentation on account creation](https://docs.github.com/en/get-started/start-your-journey/creating-an-account-on-github).
+{: .hands_on}
+
 # Create a fork of this repository on GitHub
 
+{% include _includes/cyoa-choices.html option1="Desktop" option2="Command-line" default="Desktop"
+       text="You can engage with GitHub via either an application on your computer, called GitHub Desktop, or through using the Command-line. If you're not used to using the Command-line, or you just like a user interface, then use the GitHub Desktop." %}
+
+<div class="Desktop" markdown="1">
+
+> <hands-on-title>Download GitHub Desktop</hands-on-title>
+>
+> 1. Go to the [GitHub Desktop website](https://desktop.github.com/download/)
+> 2. Select the **Download for (your kind of computer)**
+> 3. Follow any instructions
+{: .hands_on}
+
+</div>
+
 A fork is a copy of a repository. [Forking](https://help.github.com/articles/fork-a-repo/) a repository allows you to freely experiment with changes without affecting the original project:
 
 ![Explanation of the forking](../../images/PR_schema_01.png "Creation of a fork"){: width="900px"}
@@ -79,6 +105,29 @@ To modify the content of the repository, you need a copy of it on your computer.
 
 ![Explanation of the cloning](../../images/PR_schema_02.png "Cloning a repository"){: width="900px"}
 
+<div class="Desktop" markdown="1">
+
+> <hands-on-title>Clone the GitHub repository</hands-on-title>
+>
+> 1. Get the URL of your fork. You can find this on the main page of your fork under the green button:
+>    1. Click on **Code** (right)
+>
+>       ![Get fork URL](../../images/clone_code_button.png)
+>
+>    2. Select **Open with GitHub Desktop**
+>
+>       Your computer might ask if it's ok to open the website Select *Allow* if so.
+>     
+>       ![Clone a Repository](../../images/clone_a_repo.png)
+>
+>    2. If you are happy with the location of the folder, select **Clone**
+>       This may take some time the first time (as the GTN repository is quite large!), but eventually the folder will be in your computer.
+{: .hands_on}
+
+</div>
+
+<div class="Command-line" markdown="1">
+
 > <hands-on-title>Clone the GitHub repository</hands-on-title>
 >
 > 1. Get the URL of your fork. You can find this on the main page of your fork under the green button:
@@ -109,6 +158,8 @@ To modify the content of the repository, you need a copy of it on your computer.
 > If you already have a local copy of the GitHub repository, you need to update it before doing any changes. To learn how to do that, please follow the [last section](#stay-up-to-date).
 {: .comment}
 
+</div>
+
 # Create a new branch
 
 You have now your repository locally and you want to modify it. For this example tutorial, you will add yourself as contributor of the project to appear on the [Hall of Fame]({% link hall-of-fame.md %}).
@@ -121,6 +172,33 @@ When you're working on a project, you're going to have a bunch of different feat
 
 Here for this tutorial, you will create a branch called "my_new_branch" in which you will modify the `CONTRIBUTORS.yaml` file, the file used to generate the [Hall of Fame]({% link hall-of-fame.md %}).
 
+<div class="Desktop" markdown="1">
+
+> <hands-on-title>Create a branch</hands-on-title>
+>
+> 1. Go to *Current Branch*
+>
+>       ![Click on Current Branch](../../images/desktop-select_current_branch.png)
+>
+> 2. Either select an existing branch by searching, or (as in this case) type a name for a new branch:
+>    ```
+>    my_new_branch
+>    ```
+>       ![Select a branch option](../../images/desktop-select_a_branch.png)
+>       ![Type in new branch name](../../images/desktop-new_branch.png)
+>
+> 3. Select **Create New Branch**
+>
+>       ![Create branch confirmation](../../images/desktop-create_branch.png)
+>
+> 4. Select **Create Branch**
+{: .hands_on}
+
+
+</div>
+
+<div class="Command-line" markdown="1">
+
 > <hands-on-title>Create a branch</hands-on-title>
 >
 > 1. List the existing branch
@@ -142,6 +220,8 @@ Here for this tutorial, you will create a branch called "my_new_branch" in which
 > 3. List the existing branch to check that the branch has been created and you are now on it
 {: .hands_on}
 
+</div>
+
 This branch is added to your local copy:
 
 ![Creation of a branch on the local copy of the repository](../../images/PR_schema_03.png "Creation of a branch on the local copy of the repository")
@@ -152,6 +232,31 @@ You have created your first branch! Now you want to make the change in the `CONT
 
 ![Divergence of the branch compared to main](../../images/PR_branches_02.png "The changes on your branch will not be on the main branch")
 
+<div class="Desktop" markdown="1">
+> <hands-on-title>Make changes in a branch</hands-on-title>
+>
+> 1. Select **Open the repository in your external editor** if you have one. Otherwise, you will need to find a text editor. You can consider using [Visual Studio Code](https://code.visualstudio.com), for example. The text editors allow you to navigate through folders and type in code with automatically detected formatting, which is very helpful!
+>
+>       ![Open in editor](../../images/desktop-open_in_editor.png)
+>
+> 2. Scroll down to the `CONTRIBUTORS.yaml` file and follow the text in that file to add yourself.
+>
+>       ![Find the contributors file](../../images/desktop-contributors_file.png)
+>
+> 3. Save the file
+>
+> 4. Go back to your GitHub Desktop, which should now show that file change. Add a useful *commit message* and a *description* saying what you did.
+>
+>       ![Find the contributors file](../../images/desktop-commit.png)
+>
+> 5. Select **Commit to my_new_branch**
+>
+{: .hands_on}
+</div>
+
+
+<div class="Command-line" markdown="1">
+
 > <hands-on-title>Make changes in a branch</hands-on-title>
 >
 > 1. Open with your favorite text editor the `CONTRIBUTORS.yaml` file that is on your computer
@@ -185,10 +290,26 @@ You have created your first branch! Now you want to make the change in the `CONT
 >
 {: .hands_on}
 
+</div>
+
+
 # Push your branch on your GitHub repository
 
 The changes you made on your branch are only on the local copy of the repository. To propagate them online, you need to push them on your fork on GitHub:
 
+<div class="Desktop" markdown="1">
+> <hands-on-title>Push the changes</hands-on-title>
+>
+> 1. Select **Publish branch**
+>       ![Publish branch](../../images/desktop-publish_branch.png)
+>
+{: .hands_on}
+
+</div>
+
+
+<div class="Command-line" markdown="1">
+
 > <hands-on-title>Push the changes</hands-on-title>
 >
 > 1. Push the changes to the GitHub repository
@@ -201,8 +322,15 @@ The changes you made on your branch are only on the local copy of the repository
 >    > When you `git push`ed, you specified `origin`. Git repositories can know that forks exist in multiple places. When you clone one, it creates a "remote" (a remote repository) which it names `origin`, set to the URL that you used when you cloned. By having multiple remotes, you can manage more complex workflows.
 >    {: .details}
 >
-> 2. Go to your GitHub repository
-> 3. Change to the "my_new_branch" branch:
+{: .hands_on}
+
+</div>
+
+To check this has worked, you can go to your GitHub account.
+
+> <hands-on-title>Push the changes</hands-on-title>
+> 1. Go to your GitHub repository on a web browser
+> 2. Change to the "my_new_branch" branch:
 >    1. Click on **Branch: main** (left)
 >
 >       ![Selecting branch on GitHub](../../images/PR_branch_github.png)
@@ -221,6 +349,13 @@ You pushed your changes to GitHub, but currently they are only on your fork. You
 
 ![Pull request](../../images/PR_schema_05.png "Pull Requests provide a way to notify project maintainers about the changes you'd like them to consider")
 
+<div class="Desktop" markdown="1">
+> <comment-title></comment-title>
+> You will see that you can also make pull requests directly from GitHub Desktop. That also works great!
+{: .comment}
+
+</div>
+
 > <hands-on-title>Create a pull request</hands-on-title>
 >
 > 2. Go to your GitHub repository
@@ -257,13 +392,84 @@ Once the pull is open, it will be reviewed. There are two possible outcomes:
 1. Your pull request is accepted. Congratulations! Your changes will be merged into the main branch of the original repository. The website will be re-built and you will be in the [Hall of Fame]({% link hall-of-fame.md %})
 2. Your pull request needs modifications: the reviewers will ask for some changes, possibly because the automatic tests are failing.
 
-# Make the requested changes
+# Make any requested changes
+
+<div class="Desktop" markdown="1">
+
+Three things can happen:
+
+1. A reviewer commits changes to your pull request (they fix something themselves)
+2. A reviewer suggests changes to your pull request (they think something will be helpful, but want you to check and decide)
+3. A reviewer posts comments, asking you to make some sort of change.
+
+On larger pull requests, you can end up with all three! Here's how to deal this.
+
+## 1: A reviewer commits their own changes to your pull request
+
+These changes currently only exist in your GitHub repository online, not on your local branch. In case you have to make any further changes, it's important you *fetch* those changes onto your local branch. This is how you stay up to date.
+
+> <hands-on-title>Fetch origin</hands-on-title>
+> 1. On your GitHub Desktop, select **Fetch origin**
+>       ![Fetch origin](../../images/desktop-fetch_origin.png)
+>
+{: .hands_on}
+
+You can then make further changes locally, keeping your local and online branch synched.
+
+## 2: A reviewer suggests changes
+
+> <hands-on-title>Commit suggested changes</hands-on-title>
+>
+> 1. On your Pull Request link where you see the suggested changes, commit them by clicking on the "Commit suggestion" button (or engage further, or edit them) on GitHub
+>
+>       ![Fetch origin](../../images/desktop-commit_suggestion.png)
+>
+> 2. Now that your branch is updated, you need to **Fetch origin**
+>
+>       ![Fetch origin](../../images/desktop-fetch_origin.png)
+>
+{: .hands_on}
+
+You can then make further changes locally, keeping your local and online branch synched (are you noticing a pattern?).
+
+## 3: A reviewer posts comments to be addressed
+
+</div>
 
-One of the reviewers of your pull request asked you to add your name after your GitHub username in the `CONTRIBUTORS.yaml` file
+For example, one of the reviewers of your pull request may have asked you to add your name after your GitHub username in the `CONTRIBUTORS.yaml` file, if you didn't already.
+
+<div class="Desktop" markdown="1">
 
 > <hands-on-title>Make further changes</hands-on-title>
 >
-> 1. Make the requested changes in the `CONTRIBUTORS.yaml` file
+> 1. Just like when you made your initial branch and edited the file in your text editor, go to GitHub Desktop | **Current Branch** (make sure it is the correct one!) | **Open the repository in your external editor**
+>
+> 2. Navigate to the `CONTRIBUTORS.yaml` file and make any suggested changes
+>
+> 3. Save the file
+>
+> 4. Commit the changes to your branch (as before)
+>
+> 5. Select **Push origin** to push these changes from your local folder to your online GitHub branch (which is linked to your pull request)
+>
+>       ![Push origin](../../images/desktop-push_origin.png)
+>
+>    The pull request should be automatically updated
+>
+> 6. Check that the new changes are added to the pull request on GitHub
+>
+{: .hands_on}
+
+</div>
+
+
+<div class="Command-line" markdown="1">
+
+
+
+> <hands-on-title>Make further changes</hands-on-title>
+>
+> 1. Make any requested changes in the `CONTRIBUTORS.yaml` file
 >
 >    It should look like
 >
@@ -306,6 +512,8 @@ One of the reviewers of your pull request asked you to add your name after your
 >
 {: .hands_on}
 
+</div>
+
 # Check the automatic tests
 
 When a pull request is opened, some automated tests are automatically launched on [Travis](http://travis-ci.com/) to be sure that the changes do not break the website, the URL are valid, etc.
@@ -332,6 +540,11 @@ On the bottom of your pull request, you can see the status of the tests:
 
     Even it is green, we recommend to check the result of the tests, as some of tests are allowed to fail (to avoid too much noise).
 
+
+
+
+<div class="Command-line" markdown="1">
+
 # Stay up to date
 
 You now want to work on a new tutorial or make some other new changes. However since you get a local copy, some changes have happened to the original GitHub repository. You need then to update your local copy of the repository before changing anything.
@@ -362,30 +575,63 @@ You now want to work on a new tutorial or make some other new changes. However s
 >
 {: .hands_on}
 
+
 You can now restart the GitHub flow to propose new changes: start by [creating a new branch](#create-a-new-branch).
+</div>
+
 
+# Finishing the pull request
 
-# Close the Pull Request
+Great! You now know how to make pull request on GitHub, and how to make changes after a review. Reviewers can now approve and merge your pull request, however, there's no point adding you as a contributor if you don't plan to contribute! So you have to make a choice - do you plan to contribute now, later, or never?
 
-Great! You now know how to make pull request on GitHub, and how to make changes after a review.
-Reviewers can now approve and merge your pull request.
+{% include _includes/cyoa-choices.html disambiguation="whencontribute"  option1="Contribute-now" option2="Contribute-later" option3="Contribute-never" default="Contribute-now"
+       text="Your choice impacts how you will continue with your pull request." %}
 
-Because this was just a practice pull request, let's close it again.
+<div class="Contribute-never" markdown="1">
 
+If you do not intend to contribute to Galaxy, please close the pull request as per below.
 
 > <hands-on-title>Close the Pull Request</hands-on-title>
 >
-> Once you have run through all these steps, please close the pull request again.
->
-> 1. Go to the [list of pull request tab on GitHub](https://github.com/galaxyproject/training-material/pulls)
+> 1. Go to the [list of pull requests tab on the GitHub website](https://github.com/galaxyproject/training-material/pulls)
 > 2. Click on your pull request
 > 3. Scroll to the bottom of the page
 > 3. Click on "Close pull request" button
 >
-> Whenever you add your first real contribution, you can add yourself to the `CONTRIBUTORS.yaml` file in that PR.
+{: .hands_on}
+
+</div>
+
+<div class="Contribute-later" markdown="1">
+
+If you plan to contribute to Galaxy, but not anytime soon, we ask that you close your Pull Request. When you come back to contribute to Galaxy, you can add any changes to the branch that you are working on, and open a fresh pull request following the same instructions above!
+
+> <hands-on-title>Close the Pull Request</hands-on-title>
+>
+> 1. Go to the [list of pull requests tab on the GitHub website](https://github.com/galaxyproject/training-material/pulls)
+> 2. Click on your pull request
+> 3. Scroll to the bottom of the page
+> 3. Click on "Close pull request" button
 >
 {: .hands_on}
 
+</div>
+
+<div class="Contribute-now" markdown="1">
+
+Thank you so much for being willing to contribute! The easiest way to start contributing is to look through training materials to find typos, poor figure legends or alt text - basically, a text-based issue that you can correct. If you're feeling bold, you can also look at some of these [ideas for ways to contribute]({% link faqs/gtn/contributors_getting_started.md %}).
+
+1. Find a typo/error
+2. Fix it locally, just the way you edited the `CONTRIBUTORS.yaml` file above.
+3. Commit this change to your branch (the same one with yourself added to the `CONTRIBUTORS.yaml` file)
+4. Push this change from your local machine to the Github site
+5. Check the change is reflected in your Pull Request
+
+The steps are the same as your initial contribution to the `CONTRIBUTORS.yaml` file. You will then, as before, engage further with reviewers to finalise your Pull Request, and eventually (if all goes well!) your Pull Request will be approved and merged!
+
+{% icon congratulations %} Congrats, you'll have made your first contribution to the Galaxy Training Network!
+
+</div>
 
 # Conclusion
 
diff --git a/topics/dev/tutorials/core-contributing/tutorial.md b/topics/dev/tutorials/core-contributing/tutorial.md
index f8e082bc496226..6f18f33ee316a5 100644
--- a/topics/dev/tutorials/core-contributing/tutorial.md
+++ b/topics/dev/tutorials/core-contributing/tutorial.md
@@ -22,7 +22,7 @@ requirements:
     type: "internal"
     topic_name: contributing
     tutorials:
-        - github-command-line-contribution
+        - github-contribution
   -
     type: "internal"
     topic_name: dev
@@ -111,9 +111,9 @@ With simplicity in mind, we will implement our proposed extension to Galaxy by a
 >    Note: `my-feature` is just an example; you can call your new branch anything you like.
 >
 > 6. As one last step, you need to initialize your database. This only applies if you are working on
->    a clean clone and have not started Galaxy (starting Galaxy will initialize the database). 
+>    a clean clone and have not started Galaxy (starting Galaxy will initialize the database).
 >    Initializing the database is necessary because you will be making changes to the database
->    schema, which cannot be applied to a database that has not been initialized. 
+>    schema, which cannot be applied to a database that has not been initialized.
 >
 >    To initialize the database, you can start Galaxy by executing the following script (might take some time when executing
 >    for the first time):
@@ -209,7 +209,7 @@ Now modify `lib/galaxy/model/__init__.py` to add a model class called `UserFavor
 
 # Migrations
 
-There is one last database issue to consider before moving on to considering the API. Each successive release of Galaxy requires recipes for how to migrate old database schemas to updated ones. These recipes are called versions, or revisions, and are implemented using Alembic. 
+There is one last database issue to consider before moving on to considering the API. Each successive release of Galaxy requires recipes for how to migrate old database schemas to updated ones. These recipes are called versions, or revisions, and are implemented using Alembic.
 
 Galaxy's data model is split into the galaxy model and the install model. These models are persisted in one combined database or two separate databases and are represented by two migration branches: "gxy" (the galaxy branch) and "tsi" (the tool shed install branch). Schema changes for these branches are defined in these revision modules:
 - `lib/galaxy/model/migrations/alembic/versions_gxy` (galaxy model)
@@ -219,7 +219,7 @@ We encourage you to read [Galaxy's documentation on migrations](https://github.c
 
 For this tutorial, you'll need to do the following:
 1. Create a revision template.
-2. Edit the revision template, filling in the body of the upgrade and downgrade functions. 
+2. Edit the revision template, filling in the body of the upgrade and downgrade functions.
 3. Run the migration.
 
 > <question-title> about generating a revision template</question-title>
@@ -235,7 +235,7 @@ For this tutorial, you'll need to do the following:
 {: .question }
 
 To fill in the revision template, you need to populate the body of the `upgrade` and `downgrade`
-functions. The `upgrade` function is executed during a schema upgrade, so it should create your table. 
+functions. The `upgrade` function is executed during a schema upgrade, so it should create your table.
 The `downgrade` function is executed during a schema downgrade, so it should drop your table.
 
 Note that although the table creation command looks similar to the one we used to define the model,
@@ -247,7 +247,7 @@ do that here.
 
 > <question-title>about running the migration</question-title>
 >
-> What command should you run to upgrade your database to include the new table? 
+> What command should you run to upgrade your database to include the new table?
 >
 > > <solution-title></solution-title>
 > > ```bash
diff --git a/topics/introduction/tutorials/galaxy-intro-short/tutorial.md b/topics/introduction/tutorials/galaxy-intro-short/tutorial.md
index c0df5c138e0f63..14693acd73d752 100644
--- a/topics/introduction/tutorials/galaxy-intro-short/tutorial.md
+++ b/topics/introduction/tutorials/galaxy-intro-short/tutorial.md
@@ -36,7 +36,7 @@ contributions:
   editing:
   - bebatut
   - ahmedhamidawan
-  - philreeddata
+  - PhilReedData
   funding:
   - AustralianBioCommons
   - elixir-europe
@@ -94,7 +94,7 @@ The first time you use Galaxy, there will be no files in your history panel.
 
 ## Name your current history
 
-Your "History" is in the panel at the right. It is a record of the actions you have taken. 
+Your "History" is in the panel at the right. It is a record of the actions you have taken.
 
 > <hands-on-title>Name history</hands-on-title>
 > 1. Go to the **History** panel (on the right)


Reviews:
user: login: PhilReedData
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T08:52:35Z
user: login: PhilReedData
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T08:52:48Z
user: login: PhilReedData
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T08:54:07Z
user: login: PhilReedData
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T08:55:16Z
user: login: PhilReedData
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T08:55:27Z
user: login: PhilReedData
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T08:55:41Z
user: login: PhilReedData
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T08:56:06Z
user: login: PhilReedData
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T08:57:26Z
user: login: PhilReedData
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T08:57:56Z
user: login: PhilReedData
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T08:58:14Z
user: login: PhilReedData
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T08:58:43Z
user: login: PhilReedData
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T08:58:53Z
user: login: PhilReedData
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T08:59:20Z
user: login: PhilReedData
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T09:06:25Z
user: login: PhilReedData
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T09:07:57Z
user: login: PhilReedData
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T09:13:47Z
user: login: nomadscientist
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-13T13:16:40Z
user: login: nomadscientist
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-13T13:18:10Z
user: login: nomadscientist
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-13T13:19:23Z
user: login: nomadscientist
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-13T13:21:58Z
user: login: nomadscientist
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-13T13:22:27Z
user: login: PhilReedData
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T16:04:05Z
user: login: shiltemann
body: Thanks a lot @nomadscientist! This is so useful!
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-14T11:05:41Z
user: login: shiltemann
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-14T11:07:32Z
user: login: nomadscientist
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-14T11:34:02Z
user: login: nomadscientist
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-14T11:48:57Z
user: login: shiltemann
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-14T12:24:26Z
user: login: shiltemann
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-14T12:36:05Z
user: login: nomadscientist
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-14T13:05:17Z
user: login: shiltemann
state: APPROVED
author_association: MEMBER
submitted_at: 2025-03-14T13:10:16Z

Review comments:
diff_hunk: @@ -52,8 +52,30 @@ The process of development of new content is open and transparent, using git and
 >
 {: .agenda}
 
+# Create a Github account, if you have not already
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: PhilReedData
body: ```suggestion
# Create a GitHub account, if you have not already
```
I am going to be pedantic: better to use the capital H in GitHub throughout.
created_at: 2025-03-13T08:52:35Z
author_association: CONTRIBUTOR
diff_hunk: @@ -52,8 +52,30 @@ The process of development of new content is open and transparent, using git and
 >
 {: .agenda}
 
+# Create a Github account, if you have not already
+
+> <hands-on-title>Create a Github account</hands-on-title>
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: PhilReedData
body: ```suggestion
> <hands-on-title>Create a GitHub account</hands-on-title>
```
created_at: 2025-03-13T08:52:48Z
author_association: CONTRIBUTOR
diff_hunk: @@ -52,8 +52,30 @@ The process of development of new content is open and transparent, using git and
 >
 {: .agenda}
 
+# Create a Github account, if you have not already
+
+> <hands-on-title>Create a Github account</hands-on-title>
+>
+> 1. Go to the [Github](https://github.com)
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: PhilReedData
body: ```suggestion
> 1. Go to the [GitHub](https://github.com)
```
Is it really "the" GitHub, is that how people say it? They very possibly do but I don't recall hearing it said that way, more like "Go to GitHub" or "Go to the GitHub website".
created_at: 2025-03-13T08:54:07Z
author_association: CONTRIBUTOR
diff_hunk: @@ -52,8 +52,30 @@ The process of development of new content is open and transparent, using git and
 >
 {: .agenda}
 
+# Create a Github account, if you have not already
+
+> <hands-on-title>Create a Github account</hands-on-title>
+>
+> 1. Go to the [Github](https://github.com)
+> 2. Create an account & follow the instructions. If anything is unclear, you can check [their documentation on account creation](https://docs.github.com/en/get-started/start-your-journey/creating-an-account-on-github).
+{: .hands_on}
+
 # Create a fork of this repository on GitHub
 
+{% include _includes/cyoa-choices.html option1="Desktop" option2="Command-line" default="Desktop"
+       text="You can engage with Github via either an application on your computer, called Github Desktop, or through using the CommandLine. If you're not used to using the CommandLine, or you just like a user interface, then use the Github Desktop." %}
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: PhilReedData
body: ```suggestion
       text="You can engage with GitHub via either an application on your computer, called GitHub Desktop, or through using the CommandLine. If you're not used to using the CommandLine, or you just like a user interface, then use the Github Desktop." %}
```
Is "CommandLine" one word? Do you have it written like that somewhere else in Galaxy that you are referencing here?
created_at: 2025-03-13T08:55:15Z
author_association: CONTRIBUTOR
diff_hunk: @@ -52,8 +52,30 @@ The process of development of new content is open and transparent, using git and
 >
 {: .agenda}
 
+# Create a Github account, if you have not already
+
+> <hands-on-title>Create a Github account</hands-on-title>
+>
+> 1. Go to the [Github](https://github.com)
+> 2. Create an account & follow the instructions. If anything is unclear, you can check [their documentation on account creation](https://docs.github.com/en/get-started/start-your-journey/creating-an-account-on-github).
+{: .hands_on}
+
 # Create a fork of this repository on GitHub
 
+{% include _includes/cyoa-choices.html option1="Desktop" option2="Command-line" default="Desktop"
+       text="You can engage with Github via either an application on your computer, called Github Desktop, or through using the CommandLine. If you're not used to using the CommandLine, or you just like a user interface, then use the Github Desktop." %}
+
+<div class="Desktop" markdown="1">
+
+> <hands-on-title>Download Github Desktop</hands-on-title>
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: PhilReedData
body: ```suggestion
> <hands-on-title>Download GitHub Desktop</hands-on-title>
```
created_at: 2025-03-13T08:55:26Z
author_association: CONTRIBUTOR
diff_hunk: @@ -52,8 +52,30 @@ The process of development of new content is open and transparent, using git and
 >
 {: .agenda}
 
+# Create a Github account, if you have not already
+
+> <hands-on-title>Create a Github account</hands-on-title>
+>
+> 1. Go to the [Github](https://github.com)
+> 2. Create an account & follow the instructions. If anything is unclear, you can check [their documentation on account creation](https://docs.github.com/en/get-started/start-your-journey/creating-an-account-on-github).
+{: .hands_on}
+
 # Create a fork of this repository on GitHub
 
+{% include _includes/cyoa-choices.html option1="Desktop" option2="Command-line" default="Desktop"
+       text="You can engage with Github via either an application on your computer, called Github Desktop, or through using the CommandLine. If you're not used to using the CommandLine, or you just like a user interface, then use the Github Desktop." %}
+
+<div class="Desktop" markdown="1">
+
+> <hands-on-title>Download Github Desktop</hands-on-title>
+>
+> 1. Go to the [Github Desktop site](https://desktop.github.com/download/)
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: PhilReedData
body: ```suggestion
> 1. Go to the [GitHub Desktop site](https://desktop.github.com/download/)
```
created_at: 2025-03-13T08:55:41Z
author_association: CONTRIBUTOR
diff_hunk: @@ -79,6 +101,29 @@ To modify the content of the repository, you need a copy of it on your computer.
 
 ![Explanation of the cloning](../../images/PR_schema_02.png "Cloning a repository"){: width="900px"}
 
+<div class="Desktop" markdown="1">
+
+> <hands-on-title>Clone the GitHub repository</hands-on-title>
+>
+> 1. Get the URL of your fork. You can find this on the main page of your fork under the green button:
+>    1. Click on **Code** (right)
+>
+>       ![Get fork URL](../../images/clone_code_button.png)
+>
+>    2. Select **Open with Github Desktop**
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: PhilReedData
body: ```suggestion
>    2. Select **Open with GitHub Desktop**
```
created_at: 2025-03-13T08:56:06Z
author_association: CONTRIBUTOR
diff_hunk: @@ -152,6 +227,31 @@ You have created your first branch! Now you want to make the change in the `CONT
 
 ![Divergence of the branch compared to main](../../images/PR_branches_02.png "The changes on your branch will not be on the main branch")
 
+<div class="Desktop" markdown="1">
+> <hands-on-title>Make changes in a branch</hands-on-title>
+>
+> 1. Select **Open the repository in your external editor** if you have one. Otherwise, you will need to find a text editor. You can consider using [Visual Studio Code](https://code.visualstudio.com), for example. The text editors allow you to navigate through folders and type in code with automatically detected formatting, which is very helpful!
+>
+>       ![Open in editor](../../images/desktop-open_in_editor.png)
+>
+> 2. Scroll down to the `CONTRIBUTORS.yaml` file and follow the text in that file to add yourself.
+>
+>       ![Find the contributors file](../../images/desktop-contributors_file.png)
+>
+> 3. Save the file
+>
+> 4. Go back to your Github Desktop, which should now show that file change. Add a useful *commit message* and a *description* saying what you did.
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: PhilReedData
body: ```suggestion
> 4. Go back to your GitHub Desktop, which should now show that file change. Add a useful *commit message* and a *description* saying what you did.
```
created_at: 2025-03-13T08:57:26Z
author_association: CONTRIBUTOR
diff_hunk: @@ -201,8 +317,15 @@ The changes you made on your branch are only on the local copy of the repository
 >    > When you `git push`ed, you specified `origin`. Git repositories can know that forks exist in multiple places. When you clone one, it creates a "remote" (a remote repository) which it names `origin`, set to the URL that you used when you cloned. By having multiple remotes, you can manage more complex workflows.
 >    {: .details}
 >
-> 2. Go to your GitHub repository
-> 3. Change to the "my_new_branch" branch:
+{: .hands_on}
+
+</div>
+
+To check this has worked, you can go to your Github account.
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: PhilReedData
body: ```suggestion
To check this has worked, you can go to your GitHub account.
```
created_at: 2025-03-13T08:57:56Z
author_association: CONTRIBUTOR
diff_hunk: @@ -221,6 +344,13 @@ You pushed your changes to GitHub, but currently they are only on your fork. You
 
 ![Pull request](../../images/PR_schema_05.png "Pull Requests provide a way to notify project maintainers about the changes you'd like them to consider")
 
+<div class="Desktop" markdown="1">
+> <comment-title></comment-title>
+> You will see that you can also make pull requests directly from Github Desktop. That also works great!
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: PhilReedData
body: ```suggestion
> You will see that you can also make pull requests directly from GitHub Desktop. That also works great!
```
created_at: 2025-03-13T08:58:14Z
author_association: CONTRIBUTOR
diff_hunk: @@ -257,13 +387,84 @@ Once the pull is open, it will be reviewed. There are two possible outcomes:
 1. Your pull request is accepted. Congratulations! Your changes will be merged into the main branch of the original repository. The website will be re-built and you will be in the [Hall of Fame]({% link hall-of-fame.md %})
 2. Your pull request needs modifications: the reviewers will ask for some changes, possibly because the automatic tests are failing.
 
-# Make the requested changes
+# Make any requested changes
+
+<div class="Desktop" markdown="1">
+
+Three things can happen:
+
+1. A reviewer commits changes to your pull request (they fix something themselves)
+2. A reviewer suggests changes to your pull request (they think something will be helpful, but want you to check and decide)
+3. A reviewer posts comments, asking you to make some sort of change.
+
+On larger pull requests, you can end up with all three! Here's how to deal this.
+
+## 1: A reviewer commits their own changes to your pull request
+
+These changes currently only exist in your Github repository online, not on your local branch. In case you have to make any further changes, it's important you *fetch* those changes onto your local branch. This is how you stay up to date.
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: PhilReedData
body: ```suggestion
These changes currently only exist in your GitHub repository online, not on your local branch. In case you have to make any further changes, it's important you *fetch* those changes onto your local branch. This is how you stay up to date.
```
created_at: 2025-03-13T08:58:43Z
author_association: CONTRIBUTOR
diff_hunk: @@ -257,13 +387,84 @@ Once the pull is open, it will be reviewed. There are two possible outcomes:
 1. Your pull request is accepted. Congratulations! Your changes will be merged into the main branch of the original repository. The website will be re-built and you will be in the [Hall of Fame]({% link hall-of-fame.md %})
 2. Your pull request needs modifications: the reviewers will ask for some changes, possibly because the automatic tests are failing.
 
-# Make the requested changes
+# Make any requested changes
+
+<div class="Desktop" markdown="1">
+
+Three things can happen:
+
+1. A reviewer commits changes to your pull request (they fix something themselves)
+2. A reviewer suggests changes to your pull request (they think something will be helpful, but want you to check and decide)
+3. A reviewer posts comments, asking you to make some sort of change.
+
+On larger pull requests, you can end up with all three! Here's how to deal this.
+
+## 1: A reviewer commits their own changes to your pull request
+
+These changes currently only exist in your Github repository online, not on your local branch. In case you have to make any further changes, it's important you *fetch* those changes onto your local branch. This is how you stay up to date.
+
+> <hands-on-title>Fetch origin</hands-on-title>
+> 1. On your Github Desktop, select **Fetch origin**
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: PhilReedData
body: ```suggestion
> 1. On your GitHub Desktop, select **Fetch origin**
```
created_at: 2025-03-13T08:58:53Z
author_association: CONTRIBUTOR
diff_hunk: @@ -257,13 +387,84 @@ Once the pull is open, it will be reviewed. There are two possible outcomes:
 1. Your pull request is accepted. Congratulations! Your changes will be merged into the main branch of the original repository. The website will be re-built and you will be in the [Hall of Fame]({% link hall-of-fame.md %})
 2. Your pull request needs modifications: the reviewers will ask for some changes, possibly because the automatic tests are failing.
 
-# Make the requested changes
+# Make any requested changes
+
+<div class="Desktop" markdown="1">
+
+Three things can happen:
+
+1. A reviewer commits changes to your pull request (they fix something themselves)
+2. A reviewer suggests changes to your pull request (they think something will be helpful, but want you to check and decide)
+3. A reviewer posts comments, asking you to make some sort of change.
+
+On larger pull requests, you can end up with all three! Here's how to deal this.
+
+## 1: A reviewer commits their own changes to your pull request
+
+These changes currently only exist in your Github repository online, not on your local branch. In case you have to make any further changes, it's important you *fetch* those changes onto your local branch. This is how you stay up to date.
+
+> <hands-on-title>Fetch origin</hands-on-title>
+> 1. On your Github Desktop, select **Fetch origin**
+>       ![Fetch origin](../../images/desktop-fetch_origin.png)
+>
+{: .hands_on}
+
+You can then make further changes locally, keeping your local and online branch synched.
+
+## 2: Commit suggested changes
+
+> <hands-on-title>Commit suggested changes</hands-on-title>
+>
+> 1. On your Pull Request link where you see the suggested changes, commit them (or engage further, or edit them) on GitHub
+>
+>       ![Fetch origin](../../images/desktop-commit_suggestion.png)
+>
+> 2. Now that your branch is updated, you need to **Fetch origin**
+>
+>       ![Fetch origin](../../images/desktop-fetch_origin.png)
+>
+{: .hands_on}
+
+You can then make further changes locally, keeping your local and online branch synched (are you noticing a pattern?).
 
-One of the reviewers of your pull request asked you to add your name after your GitHub username in the `CONTRIBUTORS.yaml` file
+## 3: Make requested changes
+
+</div>
+
+For example, one of the reviewers of your pull request may have asked you to add your name after your GitHub username in the `CONTRIBUTORS.yaml` file, if you didn't already.
+
+<div class="Desktop" markdown="1">
 
 > <hands-on-title>Make further changes</hands-on-title>
 >
-> 1. Make the requested changes in the `CONTRIBUTORS.yaml` file
+> 1. Just like when you made your initial branch and edited the file in your text editor, go to Github Desktop | **Current Branch** (make sure it is the correct one!) | **Open the repository in your external editor**
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: PhilReedData
body: ```suggestion
> 1. Just like when you made your initial branch and edited the file in your text editor, go to GitHub Desktop | **Current Branch** (make sure it is the correct one!) | **Open the repository in your external editor**
```
created_at: 2025-03-13T08:59:19Z
author_association: CONTRIBUTOR
diff_hunk: @@ -121,6 +168,32 @@ When you're working on a project, you're going to have a bunch of different feat
 
 Here for this tutorial, you will create a branch called "my_new_branch" in which you will modify the `CONTRIBUTORS.yaml` file, the file used to generate the [Hall of Fame]({% link hall-of-fame.md %}).
 
+<div class="Desktop" markdown="1">
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: PhilReedData
body: When I [preview the changes](https://github.com/galaxyproject/training-material/blob/d48c0577a73157add00b820e59cd1960a336ca46/topics/contributing/tutorials/github-contribution/tutorial.md#create-a-new-branch), this section does not display correctly on the GitHub website. I assume it worked when you were testing it. 
<img width="1278" alt="image" src="https://github.com/user-attachments/assets/82df6535-33b1-4273-9df0-66cbf3a6e4d5" />

created_at: 2025-03-13T09:06:25Z
author_association: CONTRIBUTOR
diff_hunk: @@ -152,6 +227,31 @@ You have created your first branch! Now you want to make the change in the `CONT
 
 ![Divergence of the branch compared to main](../../images/PR_branches_02.png "The changes on your branch will not be on the main branch")
 
+<div class="Desktop" markdown="1">
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: PhilReedData
body: As before, this section does not show correctly when I preview the page in GitHub. I assume it worked fine in your dev environment. 
<img width="1278" alt="image" src="https://github.com/user-attachments/assets/93f8ccf0-8b6f-4bf2-9abf-8e028588a712" />

created_at: 2025-03-13T09:07:56Z
author_association: CONTRIBUTOR
diff_hunk: @@ -79,6 +101,29 @@ To modify the content of the repository, you need a copy of it on your computer.
 
 ![Explanation of the cloning](../../images/PR_schema_02.png "Cloning a repository"){: width="900px"}
 
+<div class="Desktop" markdown="1">
+
+> <hands-on-title>Clone the GitHub repository</hands-on-title>
+>
+> 1. Get the URL of your fork. You can find this on the main page of your fork under the green button:
+>    1. Click on **Code** (right)
+>
+>       ![Get fork URL](../../images/clone_code_button.png)
+>
+>    2. Select **Open with Github Desktop**
+>
+>       Your computer might ask if it's ok to open the website Select *Allow* if so.
+>     
+>       ![Clone a Repository](../../images/clone_a_repo.png)
+>
+>    2. If you are happy with the location of the folder, select **Clone**
+>       This may take some time the first time (as the GTN repository is quite large!), but eventually the folder will be in your computer.
+{: .hands_on}
+
+</div>
+
+<div class="Command-line" markdown="1">
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: PhilReedData
body: It is not clear to me when reading the [preview on GitHub](https://github.com/galaxyproject/training-material/blob/d48c0577a73157add00b820e59cd1960a336ca46/topics/contributing/tutorials/github-contribution/tutorial.md#create-a-fork-of-this-repository-on-github) if you are giving the learner a choice of GitHub Desktop or command line, with alternative instructions depending which they choose. The clone instructions describe using the Terminal. I didn't see any GitHub Desktop screenshots (or maybe any other instructions specific to Desktop) until the review section, "Make any requested changes". Am I missing something?
created_at: 2025-03-13T09:13:47Z
author_association: CONTRIBUTOR
diff_hunk: @@ -52,8 +52,30 @@ The process of development of new content is open and transparent, using git and
 >
 {: .agenda}
 
+# Create a Github account, if you have not already
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: nomadscientist
body: Nice! I went through and fixed this throughout
created_at: 2025-03-13T13:16:40Z
author_association: COLLABORATOR
diff_hunk: @@ -52,8 +52,30 @@ The process of development of new content is open and transparent, using git and
 >
 {: .agenda}
 
+# Create a Github account, if you have not already
+
+> <hands-on-title>Create a Github account</hands-on-title>
+>
+> 1. Go to the [Github](https://github.com)
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: nomadscientist
body: Yes!
created_at: 2025-03-13T13:18:10Z
author_association: COLLABORATOR
diff_hunk: @@ -52,8 +52,30 @@ The process of development of new content is open and transparent, using git and
 >
 {: .agenda}
 
+# Create a Github account, if you have not already
+
+> <hands-on-title>Create a Github account</hands-on-title>
+>
+> 1. Go to the [Github](https://github.com)
+> 2. Create an account & follow the instructions. If anything is unclear, you can check [their documentation on account creation](https://docs.github.com/en/get-started/start-your-journey/creating-an-account-on-github).
+{: .hands_on}
+
 # Create a fork of this repository on GitHub
 
+{% include _includes/cyoa-choices.html option1="Desktop" option2="Command-line" default="Desktop"
+       text="You can engage with Github via either an application on your computer, called Github Desktop, or through using the CommandLine. If you're not used to using the CommandLine, or you just like a user interface, then use the Github Desktop." %}
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: nomadscientist
body: We use command-line elsewhere, so will use that instead!
created_at: 2025-03-13T13:19:23Z
author_association: COLLABORATOR
diff_hunk: @@ -121,6 +168,32 @@ When you're working on a project, you're going to have a bunch of different feat
 
 Here for this tutorial, you will create a branch called "my_new_branch" in which you will modify the `CONTRIBUTORS.yaml` file, the file used to generate the [Hall of Fame]({% link hall-of-fame.md %}).
 
+<div class="Desktop" markdown="1">
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: nomadscientist
body: Will check! I've added a line that I hope will fix this...
created_at: 2025-03-13T13:21:58Z
author_association: COLLABORATOR
diff_hunk: @@ -79,6 +101,29 @@ To modify the content of the repository, you need a copy of it on your computer.
 
 ![Explanation of the cloning](../../images/PR_schema_02.png "Cloning a repository"){: width="900px"}
 
+<div class="Desktop" markdown="1">
+
+> <hands-on-title>Clone the GitHub repository</hands-on-title>
+>
+> 1. Get the URL of your fork. You can find this on the main page of your fork under the green button:
+>    1. Click on **Code** (right)
+>
+>       ![Get fork URL](../../images/clone_code_button.png)
+>
+>    2. Select **Open with Github Desktop**
+>
+>       Your computer might ask if it's ok to open the website Select *Allow* if so.
+>     
+>       ![Clone a Repository](../../images/clone_a_repo.png)
+>
+>    2. If you are happy with the location of the folder, select **Clone**
+>       This may take some time the first time (as the GTN repository is quite large!), but eventually the folder will be in your computer.
+{: .hands_on}
+
+</div>
+
+<div class="Command-line" markdown="1">
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: nomadscientist
body: Crap! That's not good, ok will check...
created_at: 2025-03-13T13:22:27Z
author_association: COLLABORATOR
diff_hunk: @@ -121,6 +168,32 @@ When you're working on a project, you're going to have a bunch of different feat
 
 Here for this tutorial, you will create a branch called "my_new_branch" in which you will modify the `CONTRIBUTORS.yaml` file, the file used to generate the [Hall of Fame]({% link hall-of-fame.md %}).
 
+<div class="Desktop" markdown="1">
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: PhilReedData
body: That seems to have worked for me and fixed the preview display. Perhaps try the same fix in the second place this happens too?
created_at: 2025-03-13T16:04:05Z
author_association: CONTRIBUTOR
diff_hunk: @@ -362,28 +571,28 @@ You now want to work on a new tutorial or make some other new changes. However s
 >
 {: .hands_on}
 
+
 You can now restart the GitHub flow to propose new changes: start by [creating a new branch](#create-a-new-branch).
+</div>
 
 
 # Close the Pull Request
 
 Great! You now know how to make pull request on GitHub, and how to make changes after a review.
+
 Reviewers can now approve and merge your pull request.
 
-Because this was just a practice pull request, let's close it again.
 
+ - If you do not intend to contribute to Galaxy, please close the pull request as per below.
+ - Otherwise, wait until your pull request is **merged** before closing it!
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: shiltemann
body: if a PR is merged, they would no longer need to close it.

I understand why you don't want to instruct them to just close it, but as maintainers it is sometimes hard to remember to merge the open PR if they make their first contribution months later, and much easier if they add themselves in the same PR as their first contribution.

How about:
- if they have already contributed to tutorials, tell them to add themselves there (even just as 'editing' contributor if they've fixed a typo)
- if not, encourage them to find a typo and fix it, and add themselves to that tutorial
- if also not, tell them to indicate in their PR message that they did this as part of the tutorial, and to add themselves in this way in their future first contribution. One of us reviewers can then comment and close the PR for the time being, so that they still go through the full process of review and resolution (close or merge) of their PR

what do you think?
created_at: 2025-03-14T10:51:09Z
author_association: MEMBER
diff_hunk: @@ -52,8 +52,30 @@ The process of development of new content is open and transparent, using git and
 >
 {: .agenda}
 
+# Create a GitHub account, if you have not already
+
+> <hands-on-title>Create a GitHub account</hands-on-title>
+>
+> 1. Go to the [GitHub website](https://github.com)
+> 2. Create an account & follow the instructions. If anything is unclear, you can check [their documentation on account creation](https://docs.github.com/en/get-started/start-your-journey/creating-an-account-on-github).
+{: .hands_on}
+
 # Create a fork of this repository on GitHub
 
+{% include _includes/cyoa-choices.html option1="Desktop" option2="Command-line" default="Desktop"
+       text="You can engage with GitHub via either an application on your computer, called GitHub Desktop, or through using the Command-line. If you're not used to using the Command-line, or you just like a user interface, then use the GitHub Desktop." %}
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: shiltemann
body: if this tutorial include GitHub Desktop and Command-line, does it make sense to also merge in the [tutorial for GitHub web interface](https://training.galaxyproject.org/training-material/topics/contributing/tutorials/github-interface-contribution/tutorial.html) as a third option? 
created_at: 2025-03-14T10:57:51Z
author_association: MEMBER
diff_hunk: @@ -257,13 +388,84 @@ Once the pull is open, it will be reviewed. There are two possible outcomes:
 1. Your pull request is accepted. Congratulations! Your changes will be merged into the main branch of the original repository. The website will be re-built and you will be in the [Hall of Fame]({% link hall-of-fame.md %})
 2. Your pull request needs modifications: the reviewers will ask for some changes, possibly because the automatic tests are failing.
 
-# Make the requested changes
+# Make any requested changes
+
+<div class="Desktop" markdown="1">
+
+Three things can happen:
+
+1. A reviewer commits changes to your pull request (they fix something themselves)
+2. A reviewer suggests changes to your pull request (they think something will be helpful, but want you to check and decide)
+3. A reviewer posts comments, asking you to make some sort of change.
+
+On larger pull requests, you can end up with all three! Here's how to deal this.
+
+## 1: A reviewer commits their own changes to your pull request
+
+These changes currently only exist in your GitHub repository online, not on your local branch. In case you have to make any further changes, it's important you *fetch* those changes onto your local branch. This is how you stay up to date.
+
+> <hands-on-title>Fetch origin</hands-on-title>
+> 1. On your GitHub Desktop, select **Fetch origin**
+>       ![Fetch origin](../../images/desktop-fetch_origin.png)
+>
+{: .hands_on}
+
+You can then make further changes locally, keeping your local and online branch synched.
+
+## 2: A reviewer suggests changes
+
+> <hands-on-title>Commit suggested changes</hands-on-title>
+>
+> 1. On your Pull Request link where you see the suggested changes, commit them (or engage further, or edit them) on GitHub
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: shiltemann
body: ```suggestion
> 1. On your Pull Request link where you see the suggested changes, commit them by clicking on the "Commit suggestion" button (or engage further, or edit them) on GitHub
```
created_at: 2025-03-14T11:04:26Z
author_association: MEMBER
diff_hunk: @@ -24,13 +24,13 @@ key_points:
 contributors:
   - cmonjeau
   - bebatut
+  - nomadscientist
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: shiltemann
body: ```suggestion
contributions:
  authorship:
  - cmonjeau
  - bebatut
  - nomadscientist
  reviewing:
  - PhilReedData 
  - shiltemann
```
created_at: 2025-03-14T11:07:32Z
author_association: MEMBER
diff_hunk: @@ -52,8 +52,30 @@ The process of development of new content is open and transparent, using git and
 >
 {: .agenda}
 
+# Create a GitHub account, if you have not already
+
+> <hands-on-title>Create a GitHub account</hands-on-title>
+>
+> 1. Go to the [GitHub website](https://github.com)
+> 2. Create an account & follow the instructions. If anything is unclear, you can check [their documentation on account creation](https://docs.github.com/en/get-started/start-your-journey/creating-an-account-on-github).
+{: .hands_on}
+
 # Create a fork of this repository on GitHub
 
+{% include _includes/cyoa-choices.html option1="Desktop" option2="Command-line" default="Desktop"
+       text="You can engage with GitHub via either an application on your computer, called GitHub Desktop, or through using the Command-line. If you're not used to using the Command-line, or you just like a user interface, then use the GitHub Desktop." %}
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: nomadscientist
body: I thought about this, and then I thought - it's not really equivalent.

You don't clone anything, you don't set yourself up to making any big changes. 
In terms of learning, I like the 'resolve a typo' (which is basically that tutorial, except it's adding to the Contributors page instead of a typo) but then anything beyond that, you likely need to clone a repo and work locally. 

This tutorial doesn't teach that, and then to go from the web interface to working locally, they'd literally do the same thing (contributors add) which would be confusing, in order to learn to work locally. 

So basically, I ended up in a bit of a circle - I kind of think the contributing via the web interface is outdated in comparison to https://training.galaxyproject.org/training-material/faqs/gtn/gtn_minor_correction.html, which specifically uses the Github interface to fix a small error.

What do you think?
created_at: 2025-03-14T11:34:02Z
author_association: COLLABORATOR
diff_hunk: @@ -362,28 +571,28 @@ You now want to work on a new tutorial or make some other new changes. However s
 >
 {: .hands_on}
 
+
 You can now restart the GitHub flow to propose new changes: start by [creating a new branch](#create-a-new-branch).
+</div>
 
 
 # Close the Pull Request
 
 Great! You now know how to make pull request on GitHub, and how to make changes after a review.
+
 Reviewers can now approve and merge your pull request.
 
-Because this was just a practice pull request, let's close it again.
 
+ - If you do not intend to contribute to Galaxy, please close the pull request as per below.
+ - Otherwise, wait until your pull request is **merged** before closing it!
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: nomadscientist
body: Interesting - ok, I've added a CYOA for this - edit now, edit later, edit never!
created_at: 2025-03-14T11:48:57Z
author_association: COLLABORATOR
diff_hunk: @@ -52,8 +52,30 @@ The process of development of new content is open and transparent, using git and
 >
 {: .agenda}
 
+# Create a GitHub account, if you have not already
+
+> <hands-on-title>Create a GitHub account</hands-on-title>
+>
+> 1. Go to the [GitHub website](https://github.com)
+> 2. Create an account & follow the instructions. If anything is unclear, you can check [their documentation on account creation](https://docs.github.com/en/get-started/start-your-journey/creating-an-account-on-github).
+{: .hands_on}
+
 # Create a fork of this repository on GitHub
 
+{% include _includes/cyoa-choices.html option1="Desktop" option2="Command-line" default="Desktop"
+       text="You can engage with GitHub via either an application on your computer, called GitHub Desktop, or through using the Command-line. If you're not used to using the Command-line, or you just like a user interface, then use the GitHub Desktop." %}
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: shiltemann
body: ok, fair point. Yeah that is almost a tutorial in an FAQ. Well let's keep this as-is then, and think about how to update/unify the web interface tutorial with your FAQ
created_at: 2025-03-14T12:24:26Z
author_association: MEMBER
diff_hunk: @@ -362,30 +575,63 @@ You now want to work on a new tutorial or make some other new changes. However s
 >
 {: .hands_on}
 
+
 You can now restart the GitHub flow to propose new changes: start by [creating a new branch](#create-a-new-branch).
+</div>
+
 
+# Finishing the pull request
 
-# Close the Pull Request
+Great! You now know how to make pull request on GitHub, and how to make changes after a review. Reviewers can now approve and merge your pull request, however, there's no point adding you as a contributor if you don't plan to contribute! So you have to make a choice - do you plan to contribute now, later, or never?
 
-Great! You now know how to make pull request on GitHub, and how to make changes after a review.
-Reviewers can now approve and merge your pull request.
+{% include _includes/cyoa-choices.html option1="Contribute-now" option2="Contribute-later" option3="Contribute-never" default="Contribute-now"
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: shiltemann
body: if you do more than one cyoa, you need to add disambiguation term:

```suggestion
{% include _includes/cyoa-choices.html disambiguation="whencontribute"  option1="Contribute-now" option2="Contribute-later" option3="Contribute-never" default="Contribute-now"
```
created_at: 2025-03-14T12:36:05Z
author_association: MEMBER
diff_hunk: @@ -52,8 +52,30 @@ The process of development of new content is open and transparent, using git and
 >
 {: .agenda}
 
+# Create a GitHub account, if you have not already
+
+> <hands-on-title>Create a GitHub account</hands-on-title>
+>
+> 1. Go to the [GitHub website](https://github.com)
+> 2. Create an account & follow the instructions. If anything is unclear, you can check [their documentation on account creation](https://docs.github.com/en/get-started/start-your-journey/creating-an-account-on-github).
+{: .hands_on}
+
 # Create a fork of this repository on GitHub
 
+{% include _includes/cyoa-choices.html option1="Desktop" option2="Command-line" default="Desktop"
+       text="You can engage with GitHub via either an application on your computer, called GitHub Desktop, or through using the Command-line. If you're not used to using the Command-line, or you just like a user interface, then use the GitHub Desktop." %}
path: topics/contributing/tutorials/github-contribution/tutorial.md
user: login: nomadscientist
body: Yeah, agreed - that FAQ escalated, lol. Ideally put together (contributing + fixing!), but that's a task for the future
created_at: 2025-03-14T13:05:16Z
author_association: COLLABORATOR

PR comments:
user: login: nomadscientist
created_at: 2025-03-13T14:31:54Z
body: I can't actually render it because of the build errors, but idk why it's erroring out on a learning pathway when this is not changing learning pathways...

Unless learning pathways can't handle redirects? I will try that next!
author_association: COLLABORATOR
user: login: nomadscientist
created_at: 2025-03-13T16:44:55Z
body: This works and looks good, I rendered it on Codespaces!
author_association: COLLABORATOR