GitHub Tutorial
GitHub Tutorial
Stephanie N. DeCross
Harvard University, Department of Psychology
[email protected] | https://github.com/sdecross
https://doi.org/10.5281/zenodo.3369466
How do I use GitHub to collaborate on a project?
Local computer The cloud
GitHub: Parent Repo
https://github.com/impt-
person/group-project
GitHub: My Repo
https://github.com/me/group-project
(GitHub concept –
button on GitHub!)
GitHub: My Repo
https://github.com/me/group-project
(GitHub concept –
button on GitHub!)
GitHub: My Repo
https://github.com/me/group-project
(GitHub concept –
button on GitHub!)
My Laptop
~/Desktop/group-project
GitHub: My Repo
https://github.com/me/group-project
(GitHub concept –
button on GitHub!)
My Laptop
~/Desktop/group-project
Thereafter, pull
~/Desktop$ git pull
(GitHub concept –
button on GitHub!)
My Laptop
~/Desktop/group-project
Thereafter, pull
~/Desktop$ git pull
(GitHub concept –
button on GitHub!)
My Laptop
~/Desktop/group-project
Thereafter, pull
~/Desktop$ git pull
(GitHub concept –
button on GitHub!)
My Laptop
~/Desktop/group-project
Thereafter, pull
~/Desktop$ git pull
(GitHub concept –
button on GitHub!)
My Laptop
~/Desktop/group-project
Thereafter, pull
~/Desktop$ git pull
(GitHub concept –
button on GitHub!)
My Laptop
~/Desktop/group-project
Thereafter, pull
~/Desktop$ git pull
3d Commit
group-project$
git commit 1 First time: fork
(GitHub concept –
button on GitHub!)
My Laptop
~/Desktop/group-project
Thereafter, pull
~/Desktop$ git pull
3d Commit
group-project$
git commit 1 First time: fork
(GitHub concept –
button on GitHub!)
My Laptop
~/Desktop/group-project
Thereafter, pull
~/Desktop$ git pull
3d Commit
group-project$
git commit 1 First time: fork
(GitHub concept –
button on GitHub!)
My Laptop
~/Desktop/group-project
Thereafter, pull
~/Desktop$ git pull
3d Commit
group-project$
git commit 1 First time: fork
(GitHub concept –
button on GitHub!)
My Laptop 4 Push to origin by(Mydefault!)
Repo
~/Desktop/group-project group-project$
git push
Thereafter, pull
~/Desktop$ git pull
3d Commit
group-project$
git commit 1 First time: fork
(GitHub concept –
button on GitHub!)
My Laptop 4 Push to origin by(Mydefault!)
Repo
~/Desktop/group-project group-project$
git push
origin
2 Clone (first time)
GitHub: My Repo
~/Desktop$ git clone
https://github.com/impt-
https://github.com/me/group-project
person/group-project.git
Thereafter, pull
~/Desktop$ git pull
3d Commit
5 Pull
group-project$
git commit request 1 First time: fork
(GitHub concept –
button on GitHub!)
(GitHub concept –
button on GitHub!)
My Laptop 4 Push to origin by(Mydefault!)
Repo
~/Desktop/group-project group-project$
git push
origin
2 Clone (first time)
GitHub: My Repo
~/Desktop$ git clone
https://github.com/impt-
https://github.com/me/group-project
person/group-project.git
Thereafter, pull
~/Desktop$ git pull
3d Commit
5 Pull
group-project$
git commit request 1 First time: fork
(GitHub concept –
button on GitHub!)
(GitHub concept –
button on GitHub!)
My Laptop 4 Push to origin by(Mydefault!)
Repo
~/Desktop/group-project ~/group-project$
git push
origin
2 Clone (first time)
GitHub: My Repo
~/Desktop$ git clone
https://github.com/impt-
https://github.com/me/group-project
person/group-project.git
Thereafter, pull
~/Desktop$ git pull
If you have direct write access to the parent repo, you can push
3d Commit
directly to upstream (it doesn’t require permission, like a pull 5 Pull
~/group-project$
request). This would take the place of step 5.
git commit request 1 First time: fork
~/Desktop/group-project group-project$
git push
origin
2 Clone (first time)
GitHub: My Repo
~/Desktop$ git clone
https://github.com/impt-
https://github.com/me/group-project
person/group-project.git
Thereafter, pull
~/Desktop$ git pull
3d Commit
5 Pull
group-project$
git commit request 1 First time: fork
(GitHub concept –
button on GitHub!)
(GitHub concept –
button on GitHub!)
My Laptop 4 Push to origin by(Mydefault!)
Repo
~/Desktop/group-project group-project$
git push
origin
2 Clone (first time)
GitHub: My Repo
~/Desktop$ git clone
https://github.com/impt-
https://github.com/me/group-project
person/group-project.git
Thereafter, pull
~/Desktop$ git pull
My Laptop
~/Desktop/group-project
origin
GitHub: My Repo
https://github.com/me/group-project
My Laptop
~/Desktop/group-project
origin
GitHub: My Repo
https://github.com/me/group-project
My Laptop
~/Desktop/group-project
origin
GitHub: My Repo
https://github.com/me/group-project
My Laptop
~/Desktop/group-project
origin
GitHub: My Repo
Link the parent repo to your local (Only need
1 https://github.com/me/group-project
project and check that it connected to do once!)
My Laptop
~/Desktop/group-project
origin
GitHub: My Repo
Link the parent repo to your local (Only need
1 https://github.com/me/group-project
project and check that it connected to do once!)
~/Desktop/group-project group-project$
git push
origin
GitHub: My Repo
Link the parent repo to your local (Only need
1 https://github.com/me/group-project
project and check that it connected to do once!)
~/Desktop/group-project group-project$
git push
origin
GitHub: My Repo
Link the parent repo to your local (Only need
1 https://github.com/me/group-project
project and check that it connected to do once!)
~/Desktop/group-project group-project$
git push
origin
GitHub: My Repo
Link the parent repo to your local (Only need
1 https://github.com/me/group-project
project and check that it connected to do once!)
My Laptop
~/Desktop/my-project
GitHub: My Account
My Laptop
~/Desktop/my-project GitHub: My Repo
https://github.com/me/repo-project
My Laptop
~/Desktop/repo-project
My Laptop
~/Desktop/my-project GitHub: My Repo
2 Clone repo to desktop https://github.com/me/repo-project
~/Desktop$ git clone https://github.com/me/repo-project.git
My Laptop
~/Desktop/repo-project
My Laptop
~/Desktop/my-project GitHub: My Repo
2 Clone repo to desktop https://github.com/me/repo-project
~/Desktop$ git clone https://github.com/me/repo-project.git
~/Desktop/repo-project
My Laptop
~/Desktop/my-project GitHub: My Repo
2 Clone repo to desktop https://github.com/me/repo-project
~/Desktop$ git clone https://github.com/me/repo-project.git
~/Desktop/repo-project
5 Push to the origin
~/Desktop/repo-project$ git push
My Laptop
~/Desktop/my-project GitHub: My Repo
2 Clone repo to desktop https://github.com/me/repo-project
~/Desktop$ git clone https://github.com/me/repo-project.git
~/Desktop/repo-project
5 Push to the origin
~/Desktop/repo-project$ git push
My Laptop
~/Desktop/my-project GitHub: My Repo
2 Clone repo to desktop https://github.com/me/repo-project
empty “my-project”
locally. Work more
locally (in repo-project)
and save file, then
repeat steps 4-5.
Rinse & repeat. FROM my computer TO GitHub
Local computer The cloud
How do I get my folder on my computer onto GitHub?
(How do I go the other way
and go FROM my computer TO GitHub?)
… another way.
(Directory to be git-ified)
My Laptop
GitHub: My Account
~/Desktop/my-project
origin
origin