Hands-On Exercise 3: Git Workflows
Goals
To fork a repo, create a branch and make a pull request
Prerequisites
- A GitHub account
- This exercise can actually be completed entirely via the GitHub.com web interface (UI), but we recommend using a command-line
git
client if you’re interested in doing later exercises that can’t be completed through the web UI (e.g., exercises 7b and 7c)
- This exercise can actually be completed entirely via the GitHub.com web interface (UI), but we recommend using a command-line
Instructions
Note: The screen shots linked below show forking hello-numerical-world; for this tutorial fork hello-numerical-world-sc20 instead.
Step 1. Fork repository hello-numerical-world-sc20: (fork example)
- Click on the following link bellow and hit the fork button in the upper right corner:
hello-numerical-world-sc20 - Choose your personal repo to fork into.
- Click on arrow next to code for path to clone. see (find path to clone example)
- Click on ssh.
- Copy path to clipboard (use path in command below).
Step 2. Clone the fork (on command line)
$git clone git@github.com:<your repo name>/hello-numerical-world-sc20.git
Cloning into 'hello-numerical-work-sc20' ...
.
.
Step 3. Create branch
$cd hello-numerical-world-sc20
$git checkout -b issue-1000
Switched to a new branch 'issue-1000'
Step 4. Make Modification (use your favorite editor)
$vi README.md
$ git diff
diff --git a/README.md b/README.md
index 3cd1a3c..b44c57e 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@ is known as the _Diffusion Equation_ and also the [_Heat Equation_](https://en.w
### Simplifying Assumptions
-To make the problem tractable for this lesson, we make some simplifying assumptions...
+To make the problem tractable for this lesson, we make some simplifying assumptions:
$ git add README.md
$ git commit -m "Replace ... with :"
[issue-1000 2271b74] Replace ... with :
1 file changed, 1 insertion(+), 1 deletion(-)
Step 5. Useful git commands to check repo
$git remote -vv
origin git@github.com:<your repo name>/hello-numerical-world-sc20.git (fetch)
origin git@github.com:<your repo name>/hello-numerical-world-sc20.git (push)
$git branch
* issue-1000
main
Step 6. Push change to fork
$ git push origin issue-1000
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 300 bytes | 300.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
remote:
remote: Create a pull request for 'issue-1000' on GitHub by visiting:
remote: https://github.com/<your repo name>/hello-numerical-world-sc20/pull/new/issue-1000
remote:
To github.com:<your repo name>/hello-numerical-world-sc20.git
* [new branch] issue-1000 -> issue-1000
Step 7. Issue pull request to upstream repository
- Visit your repository on github
- compare branches
- pull request
- for pull request reviewer