Skip to content

Commit b7b4036

Browse files
committed
fix: edits from group review
1 parent 1639b07 commit b7b4036

File tree

4 files changed

+148
-70
lines changed

4 files changed

+148
-70
lines changed

github-git/fork-repo.md

Lines changed: 9 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ myst_html_meta:
2424
---
2525

2626
(fork-repository)=
27-
# How to Fork a GitHub Repository
27+
# A Guide to Forks on GitHub Forks
2828

2929

3030
:::{admonition} What You Will Learn
@@ -49,6 +49,8 @@ Forking a repository **creates a copy** in your GitHub account while keeping a l
4949
When you fork a GitHub repository, you make a copy of the files and the commit history into your personal account. This allows you to work on the files independently before suggesting changes through a pull request to make to the parent repository you forked from.
5050
:::
5151

52+
By forking, everyone collaborates on their own copies of the project, ensuring the original files stay intact. All changes are tracked in the file history and can be undone if needed. You can fork a repository directly from its main page on GitHub.com.
53+
5254
## How to fork a GitHub repository
5355

5456
To fork a GitHub repository:
@@ -74,22 +76,6 @@ The number next to the <kbd><i class="fa-solid fa-code-fork"></i> button tells y
7476
To fork a repo, navigate to it on GitHub and click the **Fork** button. Your copy will appear under your account.
7577
:::
7678

77-
### Setting up a pull request: base vs. head
78-
79-
When creating a **pull request (PR)**, you must define where your changes should be added and where they come from.
80-
81-
- **<i class="fa-solid fa-database" style="color: #81c0aa;"></i> Base:** The repository where you want your changes to be merged. *(This is usually the original repo you forked.)*
82-
- **<i class="fa-solid fa-code-branch" style="color: #81c0aa;"></i> Head:** The repository containing your changes. *(This is your fork. The copy of the repo that you own, where you made edits.)*
83-
84-
> **🔹 Quick way to remember:** The **head** is "ahead" of the base, meaning it has new changes that the base repository does **not** yet have.
85-
86-
:::{todo}
87-
88-
/images/github/base-vs-head.png
89-
:alt: "Diagram showing how base and head work in GitHub pull requests."
90-
Create Graphic: Simple diagram with arrows from "Your Fork (Head)" → "Original Repo (Base)"
91-
92-
:::
9379

9480
:::{admonition} Who owns the repo?
9581

@@ -101,7 +87,7 @@ Every GitHub repository has an **owner**, which can be:
10187
The **owner’s username appears first in the URL**, showing who controls the repository.
10288

10389
**Example**:
104-
- A personal repo: `https://github.com/lwasser/my-project`
90+
- A personal repo: `https://github.com/your-gh-username/my-project`
10591
- An organization-owned repo: `https://github.com/pyOpenSci/repo-name`
10692

10793
If you **fork a repo**, your GitHub username becomes the owner of the fork:
@@ -110,6 +96,7 @@ If you **fork a repo**, your GitHub username becomes the owner of the fork:
11096
11197
:::
11298

99+
113100
## What happens after you fork a repo?
114101

115102
Your fork **is a separate copy**, but it remains linked to the original repository.
@@ -125,7 +112,7 @@ Your fork **is a separate copy**, but it remains linked to the original reposito
125112
::::{todo}
126113
/images/github/fork-structure.png
127114
:alt: "Diagram showing how forking creates a personal copy linked to the original."
128-
# [Graphic Suggestion: A simple diagram showing "Original Repo → Fork → Your Account".]
115+
Graphic: A simple diagram showing "Original Repo → Fork → Your Account".
129116
::::
130117

131118

@@ -141,16 +128,16 @@ To sync a GitHub fork:
141128
:::{todo}
142129
/images/github/sync-fork.png
143130
:alt: "GitHub interface showing how to sync a fork with the original repo."
144-
# [Graphic Suggestion: Screenshot of GitHub’s "Sync Fork" button.]
131+
Graphi: Screenshot of GitHub’s "Sync Fork" button
145132
:::
146133

147134
---
148135

149136
## Takeaways
150137

151138
**Forking creates a personal copy of a repository** that you can edit freely.
152-
**Your fork stays linked** to the original, allowing you to propose changes.
153-
**Sync your fork regularly** to keep it up to date.
139+
**Your fork stays linked** to the original repo, allowing you to propose changes.
140+
**Sync your fork regularly** to keep it up to date if you plan to contribute to the repo more over time.
154141

155142
:::{admonition} Next steps
156143
:class: important
@@ -159,8 +146,3 @@ Now that you’ve forked a repository, the next step is to **edit a file and com
159146
[Learn how to edit and commit files →](edit-commit-files)
160147
:::
161148

162-
163-
164-
165-
166-

github-git/identify-issue.md

Lines changed: 73 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ myst_html_meta:
2424

2525
Contributing to an open source project starts with identifying an issue to work on. Open issues help developers track bugs, new features, or needed improvements in a repository. Whether you have a specific fix in mind or are looking for ideas, exploring existing issues is the best place to start.
2626

27-
As discussed in the [get to know a repo lesson](labels-responsive), the way issues are labeled and organized can both help you find issues that maintianers want help with and also tell you a lot about a project. If you see
27+
As discussed in the [get to know a repo lesson](labels-responsive), the way issues are labeled and organized can both help you find issues that maintainers want help with and also tell you a lot about a project. If you see
2828
beginner-friendly labels like **"good first issue"** or **"help wanted,"** it's a clear signal that the maintainers welcome new contributors. Further those might be good issues for you to start working on!
2929

3030
:::{figure} /images/github/github-issues-good-first-issue.png
@@ -37,24 +37,43 @@ new contributors to work on during these events.
3737

3838
This lesson guides you through **finding or creating an issue** in a repository you don’t own.
3939

40+
## How to find an issue to work on
4041

41-
## Start by scanning existing project issues
42+
Generally, when you start contributing, there are two pathways: 1) you already have an issue in mind that you want to work on, or 2) you don't know what you want to work on yet; you'd like to see what the project needs first. Regardless of the pathway that you take, you'll want to remember two things:
4243

43-
When contributing to a new open source project, the best place to start is by **scanning open issues**. This helps you find tasks maintainers need help with and ensures you don’t duplicate existing work.
44+
1. You always want to search for existing issues before opening a new one
45+
2. You want to link the work you do in a pull request back to the issue you worked on.
4446

47+
Both steps above make it easier for maintainers to keep their list of issues organized and to close issues as they are addressed.
4548

46-
### 1. You already have identified an issue
49+
> **<i class="fa-solid fa-magnifying-glass" style="color: #81c0aa;"></i> Social cue:**
50+
> Regardless of your pathway, you'll spend some time searching through issues. You want to demonstrate your willingness to put in effort before raising an issue.
51+
> Showing that you’ve already searched first is a great way to show goodwill to maintainers.
4752
48-
Sometimes, while using a project or reading its documentation, you notice a bug, typo, or improvement. Before starting to work on it, check if the issue **already exists** in the repository.
53+
Below, you'll learn how to navigate both pathways.
4954

50-
- **If the issue exists**, leave a comment to let others know you're interested in working on it.
55+
### 1. You already have identified an issue that you want to work on
5156

57+
Sometimes, while using a project or reading its documentation, you notice a bug, typo, or improvement. Before starting to work on it, check if the issue **already exists** in the repository.
5258

59+
- **If the issue exists**, leave a comment to let others know you're interested in working on it.
60+
5361
Your comment might look like this:
5462

55-
> Hey maintainer team 👋. I’d like to work on this issue. Is there anything specific I should consider before getting started?
63+
> Hey, maintainer team 👋. I’d like to work on this issue. Is there anything specific I should consider before getting started?
64+
65+
- **If it doesn’t exist**, you can [create a new one](create-issue) (*see below*).
66+
67+
68+
### Tips for effectively searching through GitHub issues
69+
70+
Before opening a **new** issue, check whether the problem has already been raised by searching through both **open** and **closed** issues. When searching, consider the following:
71+
72+
- **<i class="fa-solid fa-keyboard" style="color: #81c0aa;"></i> Use relevant keywords**: Search for terms related to the problem, including specific error messages, function names, or terms like documentation, typos, etc.
73+
- **<i class="fa-solid fa-file-circle-xmark" style="color: #81c0aa;"></i> Check closed issues**: Sometimes, an issue has already been discussed and resolved—or maintainers may have decided not to address it.
74+
So be sure to scan both open and closed issues returned in a search.
75+
- **<i class="fa-solid fa-code" style="color: #81c0aa;"></i> Search using symbols or variable names**: Searching for specific variable names or function signatures can help find related discussions if the issue is related to code.
5676

57-
If the issue you identified doesn't exist yet, you can create a new one. You will learn how to do that below.
5877

5978
> **<i class="fa-solid fa-handshake-angle" style="color: #81c0aa;"></i> Social Cue:** Opening an issue (or commenting on an existing one) helps maintainers track who is working on what and prevents duplicate work. It also ensures the issue can be properly closed once your pull request is merged. A PR without an issue might catch maintainers off guard, so confirming before starting makes collaboration smoother.
6079
@@ -63,18 +82,31 @@ If the issue you identified doesn't exist yet, you can create a new one. You wil
6382

6483
If you don’t have a specific issue in mind, explore the **open issues** list to find something that interests you. A great place to start is by looking for labels like **"good first issue"** or **"help wanted"**—these are beginner-friendly and often well-scoped.
6584

66-
- **Start small**—fixing typos, improving documentation, or tackling minor bugs are great first contributions.
85+
- **Start small**—fixing typos, improving documentation, or tackling minor bugs are great first contributions. The better scoped your issue is, the easier it will be for you to complete the work and get it merged.
6786
- **Leave a comment** on the issue to let maintainers know you'd like to help.
68-
69-
:::{tip}
70-
Leaving comments in a new repository can feel intimidating, but most
87+
88+
> **<i class="fa-regular fa-clock" style="color: #81c0aa;"></i> Social cue:** Leaving comments in a new repository can feel intimidating, but most
7189
maintainers appreciate respectful communication and enthusiasm. If a project
7290
isn’t open to contributions, they will let you know—and there are plenty of
73-
other projects to explore!
74-
:::
91+
other projects to explore!
7592

76-
(create-issue)=
93+
### How to know if an issue is available to work on
94+
95+
Even if you find an open issue that interests you, it’s important to check if someone is already working on it.
7796

97+
- **<i class="fa-solid fa-comments" style="color: #81c0aa;"></i> Look for comments from other contributors**:
98+
Check if someone has already offered to take on the issue.
99+
- **<i class="fa-solid fa-clock-rotate-left" style="color: #81c0aa;"></i> Check the timestamps**:
100+
The issue may still be available if someone commented months ago but never submitted a fix.
101+
- **<i class="fa-solid fa-circle-question" style="color: #81c0aa;"></i> If in doubt, ask!**
102+
Leaving a comment like *"Is this issue still open for contributions?"* can clarify things.
103+
104+
> **<i class="fa-solid fa-hourglass-half" style="color: #81c0aa;"></i> Social cue:**
105+
> Just because someone expressed interest in an issue doesn’t always mean they are actively working on it.
106+
> If the last comment is old, the contributor may have moved on. Asking politely shows respect for their effort.
107+
108+
109+
(create-issue)=
78110
## How to create a new issue
79111

80112
If an issue doesn’t already exist for the thing you'd like to work on, here’s how to create a new one:
@@ -86,11 +118,24 @@ If an issue doesn’t already exist for the thing you'd like to work on, here’
86118
Some projects use templates for reporting **bugs, documentation fixes, or new features**. If a template is available, fill it out—it helps maintainers quickly understand your issue.
87119
:::
88120

89-
4. Create a **clear title** summarizing what you’d like to fix.
90-
5. Be **specific about what you'd like to fix**:
91-
- Explain the problem or fix you’re proposing.
92-
- For **bugs**, include steps to reproduce the issue.
93-
- For **documentation**, link to the page and describe what you’d like to update or enhance.
121+
3. Create a **clear title** summarizing what you’d like to fix.
122+
123+
:::{admonition} Examples of Good vs. Less Useful Issue Titles
124+
125+
| | ✅ Good Issue Titles | 🚫 Less Useful Titles |
126+
|-|-------------------------------------------------|---------------------------|
127+
|| Add: update docstring in the `function_name_here()` function.| Update documentation. |
128+
|| Fix: Typo in the documentation page for `doc-page-here`. | Fix formatting. |
129+
|| Fix: Bug in `xxx` module that causes `x, y, z` to happen. | This feature is broken. |
130+
|| Update the `module_name.py` module with a clearer docstring. | Bad UI, please fix. |
131+
:::
132+
133+
4. Be **specific about what you'd like to fix**:
134+
* Ideally, the issue that you want to address focuses on one thing and isn't too broad.
135+
* Explain the problem or fix you’re proposing.
136+
* For **code bugs**: include steps to reproduce the issue; also describe what you expected would happen, and what actually happened when you ran the code.
137+
* For **documentation**: link to the page and describe what you’d like to update or enhance.
138+
* For **new features**: describe what will happen once it is implemented
94139

95140
:::{figure} /images/github/open-issue.gif
96141
:alt: alt text here
@@ -102,24 +147,18 @@ Some projects use templates for reporting **bugs, documentation fixes, or new fe
102147

103148
Maintainers are often volunteers, so the more information you provide, the easier it is for them to support you. A well-crafted issue saves time and helps get faster responses.
104149

105-
**<i class="fa-solid fa-magnifying-glass" style="color: #6ec9c3;"></i> Social Cue:** Before submitting the issue, ask yourself:
106-
* Could someone unfamiliar with the project understand this issue?
107-
* Did I provide enough detail for a maintainer to respond without extra questions?
150+
>**<i class="fa-solid fa-magnifying-glass" style="color: #6ec9c3;"></i> Social Cue:** Before submitting the issue, ask yourself:
151+
> * Could someone unfamiliar with the project understand this issue?
152+
> * Did I provide enough detail for a maintainer to respond without extra questions?
108153
:::
109154

110-
## Examples of Good vs. Less Useful Issue Titles
111-
112-
| ✅ Good Issue Titles | 🚫 Less Useful Titles |
113-
|-------------------------------------------------|---------------------------|
114-
| Add: update docstring in the `function_name_here()` function.| Update documentation. |
115-
| Fix: Typo in the documentation page for `doc-page-here`. | Fix formatting. |
116-
| Fix: Bug in `xxx` module that causes `x, y, z` to happen. | This feature is broken. |
117-
| Update the `module_name.py` module with a clearer docstring. | Bad UI, please fix. |
118-
119-
120155
> **<i class="fa-solid fa-user-tag" style="color: #6ec9c3;"></i> Social Cue:** For smaller projects, tagging a maintainer can help get feedback faster. However, check contributor guidelines first to see if this is encouraged. Example:
121-
> `@maintainer-name, I'd love to help with this! Let me know if there's anything I should consider before starting.`
156+
> `@maintainer-name, I'd love to help with this! Let me know if there's anything I should consider before starting.`
122157
158+
159+
:::{todo}
160+
Add section on issue templates, how they work, what they are
161+
:::
123162

124163
### After you've opened an issue
125164

0 commit comments

Comments
 (0)