Intro to GitHub content
Closed this issue · 35 comments
Source material for this? Drop useful links here?
Would be good to incorporate this reference https://guides.github.com/activities/hello-world/
Unidata Python Training site has a list of several existing resources: https://unidata.github.io/python-training/python/intro-to-python/
I'm going to assign this issue to myself and @ktyle because we've had some offline discussions about developing some "Intro to GitHub" material for Kevin's class that's starting next week.
@ktyle , @brian-rose, the Earth Cube Technology and Architecture committee has expressed interest in using this notebook for an internal proposal they are submitting to support Jupyter Lab hackathons. They (the TAC) want to know if it could be ready by end of October. What are your thoughts?
@clyne the GitHub course material I've used in the class is not notebook-based ... I've slightly modified the content that is used in The Carpentries git-novice lesson and covered the first 9 "episodes" in the second and third weeks of this current semester. Throughout the rest of the semester, I have students use Git to push their assignments to the class GitHub space. Note that I don't devote any time to discuss pull requests, although I may work that in later this semester.
Regarding your specific question, I think I'd need to hear a bit more about what the intent of the TAC proposal is. Are they looking to use GitHub for hackathon attendees?
@ktyle the details of the TAC proposal are a little vague, but the basic idea is that TAC would solicit requests for hackathons around developing Python content in Notebooks. A service that TAC would provide to support these hackathons is training on technologies needed to develop and share notebooks. What's in it for us? Exposure for the project and an opportunity to get feedback from the TAC and possibly the hackathon organizers.
@clyne We didn't get chance to discuss today, but has a decision been made about the TAC hackathons?
We were supposed to hear by yesterday, but apparently they are still deliberating. I'd expect we'll know in a day or two.
At the EWG today we struck ad-hoc "GitHub Gang" group to put heads together on this content in advance of the next Pythia hackathon.
Notes from brainstorming session:
BR: suggested outline
What is GH and why use it (and relation to Git)?
How create an account
What can you do with GH (first steps), quick start to getting involved
Contribute to discussion pages
browse/comment on issues
add a link to our gallery
More powerful things that can be done with GitHub + Git (overview)
Painful necessities (Prerequisites for more powerful things with GH + Git)
Authentication credentials
Some knowledge of git
Specific things you can do once you master painful necessities:
Forking a repo, version control
Sharing your work so you can collaborate
Brainstorming ideas:
Do we create a dummy repo that anyone can experiment with? Consider it a “Safe Space for community participation”
BR states as an overall motivator: “A common misconception by users who want to participate in an open source project using Github is that they feel they need to be a technical expert on performing version control with a program like git”
@ktyle will take a first pass at setting up section headings for this in the first part of today's hackathon.
Once we have that in place, we can more usefully divide up the rest of the work of creating the content.
We got word today that the TAC hackathon proposal was awarded. I will reach out about a more reasonable target date for having a draft of out GitHub content in place.
The deadline for the draft GitHub content is November 30.
cc: @ktyle , @brian-rose
Just updating this thread. With #169 merged, we have a coherent outline in place. The big need now is to actually flesh out content for some of these sections in Foundations.
Let's try to discuss strategy for this at the beginning of today's hackathon.
Our current action plan is as follows:
- @ktyle is working on Part 1: What is GitHub
- @r-ford is working on Part 2: GitHub repositories
- @brian-rose is working on Part 4: Issues and Discussions
- We are folding Part 3: Basic GitHub Setup into Part 1 since all it will really say is "sign up for a free GitHub account" and point to GitHub docs.
- Other sections will be renumbered appropriately.
Once the first few parts are in place, that should set the scene for more advanced parts and we can distribute some of the work around the team.
@SimonGoring perhaps you can view the extended outline that is now live here
and provide feedback that would help us prioritize the remaining GitHub chapters for the TAC hackathons
Is there any part of this I can help with? If anyone no longer has time for part 1, 2, or 4 or wants any amount of assistance please let me know @ktyle @r-ford @brian-rose
Update: we had a meeting today with @ktyle, @clyne, @r-ford, @jukent and myself to strategize on how to get this done quickly. Here's a few things we decided:
- We are getting rid of the Part numbers (not needed as the sections are already ordered in the TOC)
- @ktyle will shortly be pushing updates to parts 1 and 2. They are pretty much ready to go.
- We are organizing lessons about forking, cloning, branching, and opening PRs around a new dummy repo https://github.com/ProjectPythia/github-sandbox. This will let us show very simple examples analogous to forking an existing public repo (like Project Pythia's own production repos) and making small changes.
- Simplest lesson could just be fixing a typo in a simple .md file in the sandbox.
- We divided up the work for this week as follows:
- @r-ford: Issues and Discussions
- @ktyle: Cloning and Forking a Repository (this is where the sandbox first gets introduced)
- @ktyle: Advanced GitHub Setup (borrowing material from Kevin's class on setting up ssh keys)
- @brian-rose: Basic version control with git
- @jukent: Git branches
- @clyne: Opening a Pull Request on GitHub
- @r-ford: Contribute to Project Pythia via GitHub
@ProjectPythia/education please be aware that we are trying to pursue a vastly accelerated review cycle this week to get this work done. It would be extremely helpful if you can follow your notifications and respond quickly to review requests, even if just to say that you don't have time to do the review. Thanks!
Ok here's another update with some milestones. I'll list the chapter headings, indicate current status, link the relevant PRs, and check things off when they get merged.
edited with updates as of 1/19/2022
another update on 1/26/2022
and again on 2/9/2022
final edit on 2/15/2022
- What is GitHub? merged. By @ktyle
- GitHub repositories merged. By @ktyle and @r-ford
- Issues and Discussions merged. By @r-ford
- Cloning and Forking a Repository merged. by @ktyle
- Advanced GitHub Setup merged. By @ktyle
- Basic version control with git merged. by @brian-rose
- Git Branches merged. by @jukent
- Opening a Pull Request on GitHub merged. by @clyne
- Contribute to Project Pythia via GitHub merged. By @r-ford
- Advanced GitHub Topics we may remove this or change the title
Would advanced topics include how to avoid and resolve merge conflicts?
Probably a whole laundry list of potential advanced topics ...
Please!!!
I noticed that the Contributor’s Guide already has a detailed guide on how to "contribute to Project Pythia via GitHub." Is there anything not already there that we would want in that section of this tutorial? Maybe just a walk through actually submitting an issue or PR with screenshots?
I noticed that the Contributor’s Guide already has a detailed guide on how to "contribute to Project Pythia via GitHub." Is there anything not already there that we would want in that section of this tutorial? Maybe just a walk through actually submitting an issue or PR with screenshots?
There are lots of ways to "contribute" to Pythia, such as participating on the discussion forum. IMHO these lower bar contributions are covered adequately elsewhere. Perhaps this section would be a good place for an example (or two) showing how to contribute actual content (e.g. a correction to a notebook, or even a new notebook)?
We should to a top-to-bottom review all of the content in this book chapter before closing this issue
We should to a top-to-bottom review all of the content in this book chapter before closing this issue
Yes, I created a new issue #214 for this!
All related issues and PRs are now tagged with the "GitHub content" milestone. Hopefully that makes it easier to keep track of things.
I think we can close this lengthy issue. All of the outstanding items are included in #214.
Ok to close @brian-rose, @ktyle, @jukent ?