diff --git a/.gitignore b/.gitignore
index 6f66c74..15653ca 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
-*.zip
\ No newline at end of file
+*.zip
+private/*
\ No newline at end of file
diff --git a/README.md b/README.md
index b2797f4..17502ff 100644
--- a/README.md
+++ b/README.md
@@ -1,32 +1,34 @@
❤️
***
-We have a living [Etherpad](https://public.etherpad-mozilla.org/p/2016-02-08-friendly-github-intro) for the workshop here - Github Workshop, March 8th, 2016.
+We have a living [Etherpad](https://public.etherpad-mozilla.org/p/2016-07-22-friendly-github-intro) for the workshop on July 22nd, 2016.
***
-# A Friendly Github Introduction
-This is a friendly introduction to making open, version-controlled, and collaborative projects using Github.
-
-You are invited to fork this repo and use our materials-- please let us know what you do with them and how it goes!
+# Beginners guide to version control with git
+This is a beginner friendly introduction to making open, version-controlled, and collaborative projects using git and GitHub.
## About
-This is a friendly introduction to Github – a free and open source platform that can help you build projects that are collaborative, well documented, and version-controlled. In this workshop we will introduce you to the Github ecosystem and help you get you comfortable navigating basic Github workflows. We will make sure that you leave the workshop aware of the best practices for developing projects on Github (e.g. writing a good “readme” or posting and labeling issues) and an understanding of how Github can help make your projects more readable and accessible. This workshop is developed for anyone looking for a solution to making projects – whether it be your research on arctic glaciers, the materials for an undergraduate course, your PHD thesis, or even a cookbook – more manageable. This workshop is geared towards all skill levels, but first-time and novice users are encouraged and prioritized.
+**Description**: Version control is the management of changes to documents, computer programs, and other collections of information. Changes are usually identified by a number named the "revision number". Each revision is associated with a timestamp and the person making the change. Revisions can be compared, restored, and with some types of files, merged.
+
+Github is a free and open source platform that can help you build projects that are collaborative, well documented, and version-controlled. In this workshop we will introduce you to the GitHub ecosystem and help you get you comfortable navigating basic GitHub workflows. We will make sure that you leave the workshop aware of the best practices for developing projects on GitHub (e.g. writing a good “readme” or posting and labeling issues) and an understanding of how GitHub can help make your projects more readable and accessible.
+
+This workshop is developed for anyone looking for a solution to making projects – whether it be your research on arctic glaciers, the materials for an undergraduate course, your PHD thesis, or even a cookbook – more manageable. You don't have to share your work with others or collaborate with anyone, although you'll learn how this can be achieved with ease.
+
+This workshop is geared towards all skill levels, but first-time and novice users are encouraged and prioritised.
## Learning Objectives & Takeaways
At the end of the workshop, we hope you will feel acquainted and/or comfortable with:
* Github as:
- * social platform - collaboration, coordination, and contributing
+ * Social platform - collaboration, coordination, and contributing
* Time machine - track project and go back
- * documentation & sharing platform
- * project development platform
+ * Documentation & sharing platform
+ * Project development platform
* Basic Github Workflows:
- * working individually with commits, issues, branching, and merging
- * working collaboratively with issues, forking & pull requests
-
-
+ * Working individually with commits, issues, branching, and merging using git
+ * Working collaboratively with issues, forking & pull requests
## Why are we teaching GitHub?
@@ -34,10 +36,11 @@ Git/GitHub can enable projects of any size (from individuals up to organizations
At the Mozilla Science Lab, we use GitHub as a platform to share knowledge, build communities, and make science as open and accessible as possible. We hope you will use GitHub as well to make better projects.
-###What is "open" research?
-Whether you're studying the human genome, black holes, deep sea ecology, medieval music, or alternative energy sources, research is a practice and process of learning, and creating knowledge. Researchers always build on (or transform) an existing understanding of the world. **A researcher working open shares insights or discoveries freely, makes her data available on the web, or makes the details of a new experimental technique or tool public so others can use and reuse it. By working open, she empowers fellow researchers and furthers our collective knowledge... knowledge that can be used to solve problems, save lives, and inspire and amaze us all.** The more data, knowledge, methods, tools and skills made widely and openly available to all, the better.
+### What is "open" research?
+
+Whether you're studying the human genome, black holes, deep sea ecology, medieval music, or alternative energy sources, research is a practice and process of learning, and creating knowledge. Researchers always build on (or transform) an existing understanding of the world. **A researcher working open shares insights or discoveries freely, makes her data available on the web, or makes the details of a new experimental technique or tool public so others can use and reuse it. By working open, she empowers fellow researchers and furthers our collective knowledge... knowledge that can be used to solve problems, save lives, and inspire and amaze us all.** The more data, knowledge, methods, tools and skills made widely and openly available to all, the better.
-###Oh, by the way, what's Mozilla Science Lab??
+### What's Mozilla Science Lab??
At [Mozilla Science Lab](https://mozillascience.org/) we help scientists and researchers (anyone from students to established researchers to citizen scientists) to work openly and do better research, more research, and make that research more useful by sharing it widely.
We provide various types of trainings (such as this Workshop), learning materials and formats (such as [Mozilla Study Groups](http://mozillascience.github.io/studyGroupHandbook/)), platforms for sharing and showcasing open Science projects (such as [MSL Collaborate](https://mozillascience.org/collaborate)), and support for leaders in open science (through the [Mozilla Fellows for Science](https://mozillascience.org/fellows).
diff --git a/assets/css/style-dev.less b/assets/css/style-dev.less
index a4ee6a9..6394211 100644
--- a/assets/css/style-dev.less
+++ b/assets/css/style-dev.less
@@ -68,6 +68,7 @@ p, li {
ul, ol {
margin: 0 0 30px 0;
+ margin-left : 30px;
li {
margin-bottom: 6px;
@@ -78,6 +79,7 @@ ul {
li {
list-style-type: none;
position: relative;
+ margin-left : 30px;
&:before {
content: ".";
diff --git a/assets/css/style.css b/assets/css/style.css
index 4f23235..cb811e7 100644
--- a/assets/css/style.css
+++ b/assets/css/style.css
@@ -53,6 +53,7 @@ li {
ul,
ol {
margin: 0 0 30px 0;
+ margin-left : 30px;
}
ul li,
ol li {
@@ -431,4 +432,4 @@ article pre{
color:black;
padding: 10px;
width:100%;
-}
\ No newline at end of file
+}
diff --git a/assets/images-slides/my-first-pr-find-repo.png b/assets/images-slides/my-first-pr-find-repo.png
new file mode 100644
index 0000000..224f4ca
Binary files /dev/null and b/assets/images-slides/my-first-pr-find-repo.png differ
diff --git a/assets/images-slides/my-first-pr-fork1.png b/assets/images-slides/my-first-pr-fork1.png
new file mode 100644
index 0000000..dda1903
Binary files /dev/null and b/assets/images-slides/my-first-pr-fork1.png differ
diff --git a/assets/images-slides/my-first-pr-fork2.png b/assets/images-slides/my-first-pr-fork2.png
new file mode 100644
index 0000000..1731110
Binary files /dev/null and b/assets/images-slides/my-first-pr-fork2.png differ
diff --git a/assets/images-slides/my-first-pr-humans-edit.gif b/assets/images-slides/my-first-pr-humans-edit.gif
new file mode 100644
index 0000000..55013fb
Binary files /dev/null and b/assets/images-slides/my-first-pr-humans-edit.gif differ
diff --git a/assets/images-slides/my-first-pr-humans1.png b/assets/images-slides/my-first-pr-humans1.png
new file mode 100644
index 0000000..127775d
Binary files /dev/null and b/assets/images-slides/my-first-pr-humans1.png differ
diff --git a/assets/images-slides/my-first-pr-humans2.png b/assets/images-slides/my-first-pr-humans2.png
new file mode 100644
index 0000000..41a7687
Binary files /dev/null and b/assets/images-slides/my-first-pr-humans2.png differ
diff --git a/assets/images-slides/my-first-pr-login1.png b/assets/images-slides/my-first-pr-login1.png
new file mode 100644
index 0000000..6caf9e5
Binary files /dev/null and b/assets/images-slides/my-first-pr-login1.png differ
diff --git a/assets/images-slides/my-first-pr-login2.png b/assets/images-slides/my-first-pr-login2.png
new file mode 100644
index 0000000..f314c04
Binary files /dev/null and b/assets/images-slides/my-first-pr-login2.png differ
diff --git a/assets/images-slides/my-first-pr-new-pr1.png b/assets/images-slides/my-first-pr-new-pr1.png
new file mode 100644
index 0000000..2c1d9ba
Binary files /dev/null and b/assets/images-slides/my-first-pr-new-pr1.png differ
diff --git a/assets/images-slides/my-first-pr-new-pr2.png b/assets/images-slides/my-first-pr-new-pr2.png
new file mode 100644
index 0000000..4922ce2
Binary files /dev/null and b/assets/images-slides/my-first-pr-new-pr2.png differ
diff --git a/assets/images-slides/my-first-pr-wrong-repo.png b/assets/images-slides/my-first-pr-wrong-repo.png
new file mode 100644
index 0000000..a58a9c2
Binary files /dev/null and b/assets/images-slides/my-first-pr-wrong-repo.png differ
diff --git a/exercises/my-first-pullrequest/index.html b/exercises/my-first-pullrequest/index.html
new file mode 100644
index 0000000..2652118
--- /dev/null
+++ b/exercises/my-first-pullrequest/index.html
@@ -0,0 +1,248 @@
+
+
+
+
+ Exercise: My first pull request
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ In this exercise we will add your GitHub username to the workshop repository using a pull request.
+
+
+
Beginner - Intermediate
+
+
+
+
+
Format
+
+ This is designed as an in-person, facilitated workshop with pairs of learners working together, or individually.
+
+
+
+
Target Audience
+
+ People new to Git/GitHub looking for some practice with the workflow.
+
+
+
+
Materials
+
+
An Internet connection to access the GitHub site
+
+
+
+
Introduction
+
+
+ GitHub is a web-based interface for version control, a way of keeping track of changes made to a collection of working documents. GitHub provides a structure and space for communicating about collaborative work on open projects.
+
+
+ This exercise walks you through adding your very first contribution to an open source collaborative project using Git/Github through the GitHub web interface.
+
+
+
The Brief
+
+
+ We want to know who's taking part in the workshop, so please add your name to the humans.md file in the friendly-github-intro workshop repository.
+
+
+ You'll have to fork the repo, make a change to the humans.md file and commit it to your fork, and then make a pull request to ask the workshop facilitator to merge the edit.
+
+
+ If you have time, make an issue in your own repository suggesting a change that someone else could make and add a link to that issue to the participant issue list issue in the friendly-github-intro workshop repository. Then, either sit back and wait for someone to make that change for you, or go and see if you can help someone else move their project along.
+
+ Make a copy of the repository all of your own.
+
+
+
+
+
+
Find & open the humans.md file
+
+ You're going to add your name to the humans.md file that lists all the contributors to this project.
+
+
+
+
+
HEADS UP: Common mistake!
+
+ If you see the error below, you're trying to edit the original version of the repository, not your own fork!
+
+ Go back to your home page by clicking on your avatar in the top right corner, click on your profiles, and you should see your own fork of the repository there!
+
+
+
+
+
Make a change & save the commit
+
+ Change some of the information for one of the test participants to your own details.
+ You might find this handy markdown guide helpful.
+
+
+
+
+
Make a pull request
+
+ Now you're ready to ask the project owner to merge in your changes.
+
+ Click on the Pull Request tab and then on New Pull Request.
+
+
+
+
+
+
+
Wait for your pull request to be merged
+
+ Keep an eye on your notifications to see if the project owner has any questions.
+
+
+ If you've made a mistake, you might be asked to make further changes (but hopefully not!)
+
+
+ If all goes well, CONGRATULATIONS! You've just made your first pull request and worked collaboratively on GitHub!
+
+
+
+
+
Stretch goal: Pull requests for other projects
+
+ Try asking other members of the workshop to help you. Create a new issue and add a link to the participant issue list issue in the friendly-github-intro workshop repository. Then, while you wait for another participant to help you fix the issue, take a look to see if there are any you can help with.
+
+
+
+ Use the social features of GitHub as much as you can. If the issue isn't clear, ask for clarification. Be polite and as clear as possible whether you're the project owner or the contributor.
+
+
+
+ Remember that to make a contribution to someone else's project you'll have to fork their repository so you have your own copy. Check my first pull request exercise if you need any help with those steps.
+
+
+
Glossary
+
+
+
repository, or repo
+
+ a collection of documents related to your project, in which you create and save new code or content.
+
+
+
+
markdown
+
+ a lightweight way of annotating a document with instructions that tell a web browser how to format and display text.
+
+
+
+
version control
+
+ a way of tracking changes to a document or collection of documents. Version control is like a time machine, it can take you back to the moment your document was created, or any other point in time when you or a collaborator saved that document.
+
+
+
+
Git
+
+ the command-line software that tracks all changes to a collection of documents
+
+
+
+
GitHub
+
+ a service that hosts your repository online and helps you work with contributors. GitHub adds a web-based interface to version control.
+
+
+
+
fork
+
+ a copy of a repository that is saved in another user's GitHub account.
+
+
+
+
branch
+
+ a copy of a repo that is contained within the orignal repo. Branches are used to work on a project features without altering the original or "master" repo.
+
+
+
+
commit
+
+ a saved change to a document in a repository.
+
+
+
+
issue
+
+ a message on gitHub that outlines a task that needs to be completed.
+
+
+
+
pull request
+
+ a request to add a commit or collection of commits to a repository.
+
+
+
+
merge
+
+ the act of incorporating new changes (commits) into a repository.
+
+
+
+
+
+
+
diff --git a/exercises/my-first-pullrequest/my-first-pullrequest-instructions.md b/exercises/my-first-pullrequest/my-first-pullrequest-instructions.md
new file mode 100644
index 0000000..2f6eda6
--- /dev/null
+++ b/exercises/my-first-pullrequest/my-first-pullrequest-instructions.md
@@ -0,0 +1,73 @@
+# Introduction
+
+GitHub is a web-based interface for version control, a way of keeping track of changes made to a collection of working documents. GitHub provides a structure and space for communicating about collaborative work on open projects.
+
+This exercise walks you through adding your very first contribution to an open source collaborative project using Git/Github through the GitHub web interface.
+
+## The Brief
+
+We want to know who's taking part in the workshop, so please add your name to the humans.md file in the friendly-github-intro workshop repository.
+
+You'll have to **fork the repo**, make a change to the [humans.md](https://github.com/KirstieJane/friendly-github-intro/blob/master/humans.md) file and **commit** it to your fork, and then make a **pull request** to ask the workshop facilitator to merge the edit.
+
+# My first pull request: Step by step
+
+ 1. Find the repo
+
+ Follow this link: https://github.com/KirstieJane/friendly-github-intro
+
+
+
+ 2. Sign in
+
+ Log into your github account.
+
+
+
+
+
+ 3. Fork the Repo
+
+ Make a copy of the repository all of your own.
+
+
+
+
+
+ 4. Find & open the [humans.md](https://github.com/KirstieJane/friendly-github-intro/blob/master/humans.md) file
+
+ You're going to add your name to the [humans.md](https://github.com/KirstieJane/friendly-github-intro/blob/master/humans.md) file that lists all the contributors to this project.
+
+
+
+
+
+ **HEADS UP: Common mistake!**
+
+ If you see the error below, you're trying to edit the original version of the repository, not your own fork! Go back to your home page by clicking on your avatar in the top right corner, click on your profiles, and you should see your own fork of the repository there!
+
+
+
+ 5. Make a change & save the commit
+
+ Change some of the information for one of the test participants to your own details. You might find this [handy markdown guide](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) helpful.
+
+
+
+ 6. Make a pull request
+
+ Now you're ready to ask the project owner to merge in your changes.
+
+ Click on the Pull Request tab and then on New Pull Request.
+
+
+
+
+
+ 7. Wait for your pull request to be merged
+
+ Keep an eye on your notifications to see if the project owner has any questions.
+
+ If you've made a mistake, you might be asked to make further changes (but hopefully not!)
+
+If all goes well, CONGRATULATIONS! You've just made your first pull request and worked collaboratively on GitHub!
diff --git a/exercises/my-first-repo/index.html b/exercises/my-first-repo/index.html
new file mode 100644
index 0000000..d1f1d64
--- /dev/null
+++ b/exercises/my-first-repo/index.html
@@ -0,0 +1,264 @@
+
+
+
+
+ Exercise: My first repo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ In this exercise you will create your own GitHub repository and experiment with a version control workflow. Try adding resources to your repo, working with issues and labels, forking and branching, writing commit messages, making and reviewing pull requests, and merging changes.
+
+
+
+
Beginner - Intermediate
+
+
+
+
+
Format
+
+ This is designed as an in-person, facilitated workshop with pairs of learners working together, or individually.
+
+
+
+
Target Audience
+
+ People new to Git/GitHub looking for some practice with the workflow.
+
+
+
+
Materials
+
+
An Internet connection to access the GitHub site
+
A GitHub account
+
+
+
+
Introduction
+
+ GitHub is a web-based interface for version control, a way of keeping track of changes made to a collection of working documents. GitHub provides a structure and space for communicating about collaborative work on open projects.
+
+
+ This exercise walks you through creating your first repository using GitHub through the web interface. You'll learn how to make commits, create issues, and create branches and merge them. You will also begin writing things in Markdown - a simple "markup" language used for blogging, documentation, and even writing papers!
+
+
+ The example screenshots shown below follow Joey planning a party. You can either do the same as him, or add your own information.
+
+
+
The Brief
+
+
+ Add a file that you'd like to version control to a new repository on GitHub. Change it and commit your change. Try creating a new branch, make a few changes then submit a pull request to yourself and merge the changes.
+
+
+
My first repository: Step by step
+
+
+
+
Sign in to GitHub online
+
+ Log into your github account.
+
+
+
+
+
+
+
Create a Repo
+
+ Every project starts by creating a "new repository"
+
+
+
+
+
+
Create a title & description
+
Create a project title and description. Good practice is to either use dashes ("-") or underscores ("_") between words in your title (e.g. my-first-repo or my_first_repo)
+
+
Write a short description of your repository.
+
+
Initialize your repo with a README - the title and description you write above will be shown by default.
+
+
If you are sure what kind of license you want on your repo, select one here, or put your own license in later.
+
+
+
+
Congratulations! You've made your first repo!
+
+
+
+
+
+
Your first commit
+
Let's start by adding some content to your README. To make your first commit, you are going to follow a few steps:
+
+
First: Click on the README.md & then edit button
+
+
+
Second: Using the Markdown syntax put in the following sections and a short description for each
+
+
+# Friendly Collaboration Party
+
+This repository is for planning a party to learn GitHub and more!
+
+## About
+This is some text about my project. It is interesting because it answers this question about the universe.
+
+## Team
+So far my team is small - just 1 person, but I'm willing to work with you!
+
+## Setup & Requirements
+This project requires a computer and internet.
+
+
+
Third: Add a commit message - Your commit message should point to the changes that you've made (e.g. added content to readme) and press the commit button!
+
+
+
+
Hooray! 👏🏽✨🎉 Your first commit!
+
+
+
+
Create an Issue
+
Go to the Issues Tab and create and issue about a task you want to complete (e.g. need more detailed README or create CODEOFCONDUCT.md).
+
+
Assign the task to yourself where it says "Assignee" and "Assign yourself"
+
+
Label the task in a category you think is appropriate - or create a new label!
+
+
+
+
+
+
Create a branch
+
Create a branch to add some features to your project without affecting or possibly breaking the current state of your project.
+
+
+
While in your new branch, "create a new file" or "edit" an existing file - try to address the issue you created above.
+
+
+
+
Merge the changes from the branch
+
Once you've made some changes to an existing file or added a new file, try to merge that file back in to your "master" branch.
+
+
Make sure your commit message on the merge is meaningful and points to the changes you made.
+
+
+
+
Close the Issue
+
+ If you believe you've done a good job addressing the issue you opened up earlier, close the issue!
+
+
+
+
+
Glossary
+
+
+
repository, or repo
+
+ a collection of documents related to your project, in which you create and save new code or content.
+
+
+
+
markdown
+
+ a lightweight way of annotating a document with instructions that tell a web browser how to format and display text.
+
+
+
+
version control
+
+ a way of tracking changes to a document or collection of documents. Version control is like a time machine, it can take you back to the moment your document was created, or any other point in time when you or a collaborator saved that document.
+
+
+
+
Git
+
+ the command-line software that tracks all changes to a collection of documents
+
+
+
+
GitHub
+
+ a service that hosts your repository online and helps you work with contributors. GitHub adds a web-based interface to version control.
+
+
+
+
fork
+
+ a copy of a repository that is saved in another user's GitHub account.
+
+
+
+
branch
+
+ a copy of a repo that is contained within the orignal repo. Branches are used to work on a project features without altering the original or "master" repo.
+
+
+
+
commit
+
+ a saved change to a document in a repository.
+
+
+
+
issue
+
+ a message on gitHub that outlines a task that needs to be completed.
+
+
+
+
pull request
+
+ a request to add a commit or collection of commits to a repository.
+
+
+
+
merge
+
+ the act of incorporating new changes (commits) into a repository.
+
+ Sync your changes online with GitHub to your laptop. Push changes from your computer to GitHub.
+
+
+
+
Beginner - Intermediate
+
+
+
+
+
Format
+
+ This is designed as an in-person, facilitated workshop with pairs of learners working together, or individually.
+
+
+
+
Target Audience
+
+ People new to Git/GitHub looking for some practice with the workflow.
+
+
+
+
Materials
+
+
An Internet connection to access the GitHub site
+
A GitHub account
+
A Windows or Mac computerthat you can add files to
+
+
+
+
Introduction
+
+ GitHub is a web-based interface for version control, a way of keeping track of changes made to a collection of working documents. GitHub provides a structure and space for communicating about collaborative work on open projects.
+
+
+ This exercise walks you through adding a local project from your own computer to GitHub using the GitHub Desktop application. You'll learn how to make changes to your files locally and push those changes back to GitHub. You'll also revert a commit so you know how to roll back a change you want to undo.
+
+
+ If you'd rather use one of these example repositories you're very welcome to. Just click on the link below and save the files to your computer.
+
+ Add a new project from your own computer to GitHub. Edit one of the files, or a add a new one, and commit your change. Push that change to GitHub. Finally, try to undo that change to revert to a previous version of the repository.
+
+
+
+
Working Locally: Step by step
+
+
+
+
Sign in and install
+
+ Start by signing into your GitHub account and installing the Github Desktop
+
Fifth: Commit and Publish Now that you've created a git repository from your folder, you can now commit each of your files.
+
You can either commit all of the files at once and in the commit message say:
+
+Initial Commit
+
+
+ or you can individually commit each file by selecting each file by the check boxes and writing a separate commit message for each file.
+
+
+
here is a video showing this process
+
+
+
+
Create a branch, make changes, merge them in
+
+
In this step, make a branch to work on some new content for your newly added repo, make a commit, and merge those changes from your new branch into your master branch.
+
+
+
+
For the example of the writing sample, a new branch ("new-title") is created to add a new title to the thesis. A new title is added and the file is committed to the new branch called "new-title".
+
+
After making the changes, we decide that the master branch needs to have this same title, SO, we:
+
+
+
- toggle back to the master branch
+
- click the "compare" button and select the "new-title" branch.
+
- "update from 'new-title' " which merges those changes in.
+
+
Last, we check the file to see if the changes have been merged from the "new-title" branch to the "master" branch.
+
+
A Note on switching back and forth between branches
+
Notice when we switch back and forth between branches how the title is different. While it appears that "thesis.doc" is the same file, Git is running in the background to make sure that the changes you applied are properly applied based on which branch you're in.
+
+
+
+
Revert a commit
+
+ The last piece of functionality we will try is to revert a commit. In a situation in which you are not happy with a commit, you can "revert" the commit by:
+
+
+
First: click on the commit you want to revert
+
+
+
Second: click the "gear icon" and "revert this commit" ... then sync!
+
+
+
+
Congratulations! You now know the essentials of working with GitHub Online and Locally with Github Desktop!!
+
Glossary
+
+
+
repository, or repo
+
+ a collection of documents related to your project, in which you create and save new code or content.
+
+
+
+
markdown
+
+ a lightweight way of annotating a document with instructions that tell a web browser how to format and display text.
+
+
+
+
version control
+
+ a way of tracking changes to a document or collection of documents. Version control is like a time machine, it can take you back to the moment your document was created, or any other point in time when you or a collaborator saved that document.
+
+
+
+
Git
+
+ the command-line software that tracks all changes to a collection of documents
+
+
+
+
GitHub
+
+ a service that hosts your repository online and helps you work with contributors. GitHub adds a web-based interface to version control.
+
+
+
+
fork
+
+ a copy of a repository that is saved in another user's GitHub account.
+
+
+
+
branch
+
+ a copy of a repo that is contained within the orignal repo. Branches are used to work on a project features without altering the original or "master" repo.
+
+
+
+
commit
+
+ a saved change to a document in a repository.
+
+
+
+
issue
+
+ a message on gitHub that outlines a task that needs to be completed.
+
+
+
+
pull request
+
+ a request to add a commit or collection of commits to a repository.
+
+
+
+
merge
+
+ the act of incorporating new changes (commits) into a repository.
+
+
+
+
+
+
+
+
diff --git a/feedback.md b/feedback.md
new file mode 100644
index 0000000..e560a13
--- /dev/null
+++ b/feedback.md
@@ -0,0 +1,35 @@
+# Feedback from the workshop on July 22nd, 2016
+
+## Questions/feedback from the workshop
+
+- Why we have a README.md file? Explanation needs to be given earlier on why it is important to have this file.
+- Empty repo with no file. When creating a repo online, it is important to not forget to tick the box next to the README file otherwise the repo will be empty.
+- What blame means?
+- Pull request not explain!
+- Conflict needs to be explained too...
+- Branch name and repo need to be unique
+- Exercise2 does not work. everyone editing same file issue with conflicts. Conflict cannot be solved online, only from the command line.
+- Exercise3. Desktop client add from local does not work on windows when setups are not done correctly. Need to be checked before to be able to help better windows users.
+
+## Actions
+
+- Get explanation on how to create **academic account** with free private repos. https://education.github.com/discount_requests/new
+- Changes made in master file cannot be pulled requested into branch without swapping base/compare branches!
+- Conflict appears between branch and master if changes are not committed.
+
+## Lessons learnt
+
+- **Post-it session**: only two questions for 2 post-it per person
+- **Introduction presentation**: change presentation to include explanation of Pull Request as well as the workflow form exercise ‘My first repo'
+- **‘My first pull request’ exercise** change it to work in pair and let people request each others (show how to find someone else account on github.com)
+- Test **desktop client on windows** to see where are the settings in order to be able to add a repo from a folder
+- Improve workflow explanation for each of the exercises upfront
+- Green post-it works very well but do not forget to ask them to remove it at the end of each exercise sessions
+- GitHub Desktop App. Show differences between app and online actions for same workflow.
+- Show workflow of changes in three different way: online, app and command line.
+
+## Possible new flow for next workshop
+
+1. **Introduction.** Create repo/Add file/Commit changes online
+2. **Desktop App.** same actions as done online, Create repo/Add file/Commit changes as well as how to do so on the command line
+2. **Collaboration.** Then introduce branching/pull request/fork and the collaborative work. Work by pair.
diff --git a/humans.md b/humans.md
index a6299be..1006a1e 100644
--- a/humans.md
+++ b/humans.md
@@ -1,19 +1,41 @@
# All the lovely people involved in making this happen
-## Mozilla Science Lab
+## Facilitators
-* Joey Lee
-* Steph Wright
+* Kirstie Whitaker - github: [@KirstieJane](https://github.com/kirstiejane/), twitter: [@kirstie_j](https://twitter.com/kirstie_j), website: www.kirstiewhitaker.com
+* Mark Dunning - github: [@markdunning](https://github.com/markdunning), twitter: [@DrMarkDunning](https://twitter.com/DrMarkDunning)
+* Anne Pajon - github: [@pajanne](https://github.com/pajanne)
+* Gordon Brown
-## Facilitator
-* [Matt Strimas-Mackay](http://strimas.com/)
-* [Will Hall](http://socialidentitylab.psych.ubc.ca/person/will-hall/)
+## Participants on July 22nd 2016
-## UBC
+* Chris Smith - github: [@smithcg02](https://github.com/smithcg02)
+* Rafael Gafoor - github: [@RafaelGafoor](https://github.com/RafaelGafoor)
+* Zhiang - github: [@guoyida](https://github.com/guoyida)
+* Danish Memon - github: [@dmemon](https://github.com/dmemon)
+* Steven Williams - github: [@DrWilliamsSteven](https://github.com/DrWilliamsSteven)
+* Yuan Huang - github: [@yuanhuang](https://github.com/yuanhuang)
+* Alex Cunningham - github: [@apc40](https://github.com/apc40)
+* Veronika - github: [@siskavera](https://github.com/siskavera)
+* Matt - github: [@mjthreesixfive](https://github.com/mjthreesixfive)
+* Andras Nagy - github: [@nagyadavid](https://github.com/nagyadavid/)
+* Marco Chiapello - github: [@mchiapello](https://github.com/mchiapello)
+* Alexander Bates - github: [@alexanderbates](https://github.com/alexanderbates)
+* John Boucher - github: [@jbsquared42](https://github.com/jbsquared42)
+* Yaseen Ladak - github: [@yaseen-ladak] (https://github.com/yaseen-ladak)
+* X Cui - github [@cuixy13](https://github.com/cuixy13)
+* Krishna C. Bulusu - github: [@vyom20](https://github.com/vyom20)
+* Fabio Puddu - github: [fabiopuddu](https://github.com/fabiopuddu)
+* Andrew Swan - github [@monoke](https://github.com/monoke/)
+* Ed Emmott - github: [@edemmott] (https://github.com/edemmott/)
+* Kamal - github: [@kamalfartiyal84](https://github.com/kamalfartiyal84/)
+* Divya Venkatesh - github: [@delfinut](https://github.com/delfinut/)
-* Kelly Schultz
-* Erin Fields
-* Susan Atkey
-* CTLT
+## Mozilla Science Lab Fellows
+
+The workshop was originally developed by:
+
+* Joey Lee - github: [@joeyklee](https://github.com/joeyklee)
+* Steph Wright - github: [@stephwright](https://github.com/stephwright)
diff --git a/index.html b/index.html
index 52eb2c3..1dc5c84 100644
--- a/index.html
+++ b/index.html
@@ -20,10 +20,11 @@
@@ -33,7 +34,7 @@
A Friendly Github Intro Workshop
- Prepared for UBC, Vancouver, March 2016
+ Prepared for UBC, Vancouver, March 2016 & Forked for University of Cambridge, July 2016
This is a friendly introduction to Github – a free and open source platform that can help you build projects that are collaborative, well documented, and version-controlled. In this workshop we will introduce you to the Github ecosystem and help you get you comfortable navigating basic Github workflows. We will make sure that you leave the workshop aware of the best practices for developing projects on Github (e.g. writing a good “readme” or posting and labeling issues) and an understanding of how Github can help make your projects more readable and accessible. This workshop is developed for anyone looking for a solution to making projects – whether it be your research on arctic glaciers, the materials for an undergraduate course, your PHD thesis, or even a cookbook – more manageable. This workshop is geared towards all skill levels, but first-time and novice users are encouraged and prioritized.
@@ -44,122 +45,98 @@
A Friendly Github Intro Workshop
Schedule
- The schedule can be found in the workshop repository here.
+ The schedule can be found in the workshop repository here.
-
Presentation
+
Presentations
- The link(s) to the presentation(s) can be found below.
+ The links to the presentations can be found below.
What, Why, and Welcome to Github - In this short presentation, we'll get a brief intro to what GitHub is and some handy terms which well help get you speaking the language of Git/Github. We also show some common use cases for how and why GitHub might make working on and collaborating on projects more manageable.
Working collaboratively With GitHub - In the previous talk, we saw how individually you might work on projects, this talk will show you two pathways for collaborating on GitHub.
-
GitHub Repo Essentials - Here we go through the essential components of a Github Repository. We talk specifically about: readme's, how people can contribute to your project, the code of conduct for your project/community, and licensing your project.
What, Why, and Welcome to Github - In this short presentation, we'll get a brief intro to what GitHub is and some handy terms which well help get you speaking the language of Git/Github.
+
Working collaboratively With GitHub - In the previous talk, we saw how individually you might work on projects, this talk will show you two pathways for collaborating on GitHub.
+
Working locally using git - In the real world you'll probably want to work on your own computer and then keep the versions on GitHub. In this presentation we show you a sample workflow for keeping track of everything you've done.
+
More things you can do with GitHub - Here we go through the essential components of a Github Repository. We talk specifically about: readme's, how people can contribute to your project, the code of conduct for your project/community, and licensing your project.
-
Guides
-
-
Sessions
+
Exercises
- Guides will provide participants with post-presentation exercises to complete during work sessions.
+ The links to the workshop exercises can be found below.
-
GitHub Essentials: Getting Started with Github - in this exercise, you will work through the basic GitHub worflow using GitHub Online and GitHub Desktop.
My First Repo: Make your own repository on GitHub and experiment with issues, branches, commit messages and pull requests.
+
My First Pull Request: Jumping in with your very first open source contribution! Add your name to the list of participants for this workshop.
+
Working Locally: Add a repository from your own computer and keep it synced with the version online at GitHub.
-
Notes
-
- We have a living etherpad where we will be collecting any questions from participants and answering either on a rolling basis or after the workshop. Hop on the pad if you've got questions, comments, or want to help answer any if the questions.
-
-
Help
-
-
-
-
Getting Help
-
- Here we'll hopefully answer questions you might have.
-
-
-
-
Where is it being held?
-
-
Irving K Barber Learning Centre, Lillooet Room 301, UBC, Vancouver
-
-
-
-
What is the WIFI code?
-
-
For UBC Affiliates:
-
-
UBC_SECURE
-
YOURCWLPASSWORD
-
-
-
For non-UBC folks:
-
-
UBC_GUEST
-
no password
-
-
-
-
-
-
Where can I find the Science Lab Code of Conduct?
-
- You can find it here. We'd love for feedback on how it could be improved. Stay tuned for the Code of Conduct session at WOW (see above).
-
-
-
-
Who can I approach if I have any problems or issues to report that violate our Code of Conduct?
-
- In coordination with our Code of Conduct, we have two appointed members of our "safety team" responsible for maintaining the ethos of that code throughout the event, and providing help or resources to anyone who might require it. Reach out to the following people if you have questions, issues, or concerns that you wish to express.
-
+ Please feel free to ask any of the facilitators any questions you have - we're here to help!
+
+
+ You should also try asking your neighbours as you're working through the exercises. Figuring out how to do this in pairs is much easier than struggling alone!
+
+
+ We have a living etherpad where we will be collecting any questions from participants and answering either on a rolling basis or after the workshop.
+
+
+ Hop on the pad if you've got questions, comments, want to make notes as we're going along, or want to answer any of the questions.
+
-
-
+
Where can I find the workshop Code of Conduct?
+
+ You can find it here. Remember that this workship is aimed at beginners to git and GitHub, and there's no programming background required. It is very important that we ensure everyone feels welcome and that their contributions are valued. If you do not abide by the code of conduct and treat all members of the workshop with respect you will be asked to leave.
+
+
+
Useful Resources
+
+ Here we'll list some persistent resources that you might use throughout the workshop.
+
diff --git a/schedule.md b/schedule.md
index 4728114..992a4e3 100644
--- a/schedule.md
+++ b/schedule.md
@@ -1,83 +1,79 @@
# Schedule
-Here's the roadmap for the workshop:
+Here's the roadmap for the workshop on 22nd July 2016
-**9:30 - 10:00: Registration**
+**13:30 - 13:45 Postit session**
-* Coffee, tea, and cookies - Thanks UBC Library!!!!
+* An interactive discussion on:
+ * Why is version control useful?
+ * What do you do for version control at the moment?
+ * Why do you want to learn about git and GitHub?
-**10:00 - 10:15: Introductions**
+**13:45 - 13:50 Welcome, code of conduct and learning objectives**
-* About us
-* About Mozilla Science Lab
-* Say "hello" to your table group
-* Code of Conduct
+* Presentation: [Hello & Welcome](https://docs.google.com/presentation/d/1748N8jrxLavh-JPoukLJFMNLGxdVpgiBGB0712B40LY/edit?usp=sharing)
+* Take a moment to read through the Mozilla Science Lab's [code of conduct](https://science.mozilla.org/code-of-conduct)
+* Learning objectives
+ * By the end of the course you should know:
+ * What is version control, and why is it crucial for research?
+ * Git and github; what is the difference?
+ * Why git is not just for programmers.
+ * And you should be able to:
+ * Create a git repository for your project.
+ * Collaborate and share your projects with others using GitHub.
+ * Work on your project locally and push changes to GitHub.
+* Resources
+ * [README](https://github.com/KirstieJane/friendly-github-intro/blob/master/README.md)
+ * [webpage](https://kirstiejane.github.io/friendly-github-intro)
+ * [etherpad](https://public.etherpad-mozilla.org/p/2016-07-22-friendly-github-intro)
-**10:15 - 10:35: Github - What, Why, & Welcome**
+**13:50 - 14:00: Introduction to version control with git and github**
-* Presentation: [Github - What, Why, & Welcome](https://docs.google.com/presentation/d/1Tfa3zSGAxDPBkLwC5DByGIsyJJIIvTi-vaxuY6oQtFY/edit?usp=sharing)
+* Presentation: [Github - What, Why & Welcome](https://docs.google.com/presentation/d/120U_qFLpHMWrC7BQE55pNZbU8lPqa_NDUoNFEpvF67Y/edit?usp=sharing)
+ * What is version control?
+ * Using git and GitHub
+ * Glossary
-**10:35 - 11:00: Getting Started With GitHub**
+**14:00 - 14:30: Exercise 1: Set up your first project**
-* Demo: [GitHub - Our First GitHub Project: Let’s get set up!](https://docs.google.com/presentation/d/1TkOLnznhfo_2sB4YnStyK8_Lo9WTgDt6xoRcMkyuJdY/edit?usp=sharing)
+* Create your first repository in GitHub
+ * Instructions: [Exercise 1: My first repo](https://kirstiejane.github.io/friendly-github-intro/exercises/my-first-repo/)
+ * Ask as many questions as you need! Either in person or on the [etherpad](https://public.etherpad-mozilla.org/p/2016-07-22-friendly-github-intro)
-**11:00 - 12:00: Set Up Your First Project**
+**14:30 - 14:45: break**
-[Github Essentials Guide](http://joeyklee.github.io/friendly-github-intro/guides/github-essentials/)
+**14:45 - 15:00: Working collaboratively with GitHub**
+* Presentation: [Working collaboratively with github](https://docs.google.com/presentation/d/1VasZl8YsYMfhi1zYaYZ-kWykjp4T-ZqE5YrOImsC_Kg/edit?usp=sharing)
+ * Collaborators
+ * Fork
+ * Pull request
-* You will have an hour to play around in the GitHubverse - we will be around to help clarify and guide you through any questions you might have.
-* To get a feeling for the workflow shown in the prior presentations, try to:
- * Create a repo from scratch
- * Make a README using markdown documenting what your project is about, who is involved, why it is interesting, how to get the project setup (e.g. what version of R, what packages are you using, links to references, and add a friendly gif, etc.)
- * Create some issues that need to be completed - add labels to them.
- * Create a few commits
- * Create a branch to experiment new features on:
- * make a pull request to merge those changes into your "master" branch
- * Revert a commit
- * Celebrate!
+**15:00 - 15:15: Exercise 2: Your first pull request**
-**12:00 - 12:30: Lunch**
+* Add your github username to the [workshop repository](https://github.com/KirstieJane/friendly-github-intro)
+ * Instructions: [Exercise 2: My first pull request](https://kirstiejane.github.io/friendly-github-intro/exercises/my-first-pullrequest/)
+ * Ask as many questions as you need! Either in person or on the [etherpad](https://public.etherpad-mozilla.org/p/2016-07-22-friendly-github-intro)
-* Pizza and drinks will be served (there will be some veg/gluten free options in case there are food allergies) - Thanks UBC Library (again)!
+**15:15 - 15:30: Working locally using git**
-**12:30 - 1:45: Collaborating on GitHub**
+* Presentation: [Github desktop essentials](https://docs.google.com/presentation/d/1Lqe9GoVLcb3se0Szmybkgi8XOAjKBepPPatANPzFvlY/edit?usp=sharing)
+ * Edit using local tools
+ * Push to "the cloud"
+ * Revert to a previous version
-* Presentation + Demo: [Collaborating with GitHub](https://docs.google.com/presentation/d/1v-gIFtZhyXEIfsUbizvGc_X8UqeQJ8IlBtdRYeDnkbA/edit?usp=sharing)
+**15:30 - 16:00: Exercise 3: Sync your GitHub repository to your laptop**
-[GitHub Collaboration Workflow](http://joeyklee.github.io/friendly-github-intro/guides/github-collaboration-party/)
-* Group Exercise: Let's Plan a Party
- * As a group we will work to plan a party - each table will be tasked with developing one of the details of the party (e.g. food, invitations, venue, etc)
+* Sync your repo to your laptop then push a commit
+ * Instructions at [Exercise 3: Working locally](https://kirstiejane.github.io/friendly-github-intro/exercises/working-locally/)
+ * Ask as many questions as you need! Either in person or on the [etherpad](https://public.etherpad-mozilla.org/p/2016-07-22-friendly-github-intro)
-**1:45 - 2:00: Share results / Feedback**
+**16:15 - 16:30: More things you can do with GitHub**
-* Share the results of the party planning
-* Share feedback on challenges, solutions, and recommendations
-
-**2:00 - 2:15: Break Time**
-
-* [Open Source Stretch](https://github.com/mozillascience/working-open-workshop/issues/42)
-* Cookies, coffee, and tea break - Thanks UBC Library! Our fueling heroes of the day!
-
-
-**2:15 - 2:45: Essential Pieces of a Repo**
-
-* Why we need:
- * README
- * CONTRIBUTING
- * CODE OF CONDUCT
- * LICENSE
-
-* On open access, open science, and open education ...
-
-**2:45 - 3:15: Next Steps / Taking it further**
-
-
-
-
-* TBD
-
-**3:15 - 3:30: Close**
-
-* Wrapping up last questions, feedback, etc.
+* Presentation: [More things you can do with GitHub](https://docs.google.com/presentation/d/1ck0ZPHydsTkTjn_nhaqAiXiM1_uqcIV2i9u5wzfYEWw/edit?usp=sharing)
+ * Lead your own open source project
+ * Host a project website
+**16:30 - 17:30: Freetime to play & ask questions**
+* Ask us questions, add more commits, set up a website. Whatever works for you.
+* Complete the post workshop survey.