8000 Materials organization by nsidc-service-admin · Pull Request #1 · nsidc/git-training · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Materials organization #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,11 @@ After running either of these scripts, you can open the file

## Troubleshooting

TODO
### ReadTheDocs build status is not showing up in GitHub

If you're sure, following RTD's instructions, that the relevant GitHub permissions are
correct, sometimes the only way to fix this problem is to delete and recreate the
project in RTD.


## License
Expand Down
92 changes: 92 additions & 0 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# Make the structure/order of the materials more clear

* How should people use these training materials? In what order?

* How should NSIDC deliver these trainings to users? (e.g. tiny bites? 1 tutorial + 1
discussion in a session?)

* Should there be a way of indicating materials that you can get by without? e.g. you
don't _need_ to understand the history as a DAG but it may help some learners.


## Guided learning

The most attention-drawing thing a user sees when they first load the page should be an
outline of the materials suggesting where to start and how to progress. The sidebar can
provide similar quick-navigation once the user has left the front page.


### Discussion: What is Git / what is Git for?

* Who is Git for? What can Git do for me?
* Why should I use Git and not Google Docs / MS Office?
* When should I not use Git?


### Tutorial 1a: Intro to Git through GitHub GUI

* Creating repositories with the GUI
* Contributing to repositories with the GUI
* Reviewing changes in GitHub GUI

NOTE: Using GitHub GUI features first, or CLI first?


### Tutorial 1b: Intro to Git at the CLI / `git` commands

* Cloning a repository from GitHub / `init` on local computer
* Adding changes, committing
* Log, diffing
* Authenticating to push
* Pushing

NOTE: How to make "pushing" part easiest? All methods seem non-trivial and require
install of something (e.g. `openssh` not necessarily installed). [GH
docs](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/about-authentication-to-github#authenticating-with-the-command-line)
describe using GitHub CLI, using the `git` program with a Personal Access Token, using
Git Credential Manager, or using SSH keys.


### Discussion: Understanding Git's history with graph theory

* Git's history is a Directed Acyclic Graph

NOTE: Should this be before the branching/merging tutorial or after?


### Tutorial 2: Branching and merging at the CLI

* What do branches do for me?
* What are conflicts? How do I resolve conflicts?


### Discussion: Merge strategies

* Fast-forward
* Squash

NOTE: Integrate this information into branching/merging tutorial?


### Tutorial 3: Pull requests

* How do I open a PR?
* What do I do after I open a pull request?
* What do I do after I'm asked to review a PR?


### Tutorial 4: Forks / upstreams

* What does it mean to fork?
* How to fork?
* Remotes and having multiple (e.g. `origin` and `upstream`)


## Reference

* Dedicated section for workflow-focused cheat sheets? The "How-to" section currently
contains that material.
* Cheat sheets paired with tutorial contents?
* A "style guide" or "symbology" page? Would be useful to document re-usable elements
like BitBucket/GitLab compatibility notes, authors' notes, warnings, format standards
for images/captions, etc.
39 changes: 27 additions & 12 deletions doc/home.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,37 @@ NSIDC Git Training
:alt: Git logo


.. include:: what-to-expect.md
:parser: myst_parser.sphinx_
Ensure you have the right software installed: :doc:`/reference/prerequisites`

The following is the recommended order to tackle this material:

* **Discussion**: :doc:`./discussion/about-git`

* **Tutorial**: Basic usage. Choose one based on your preferred interface:
* [TODO] Intro to using Git through GitHub GUI
* :doc:`/tutorial/1b-intro-to-git-cli/index`

* Working with others using Git:

* **Discussion**: [TODO] Understanding Git history through Graph Theory

How to use these materials
--------------------------
* **Tutorial**: [TODO] Branching and merging with Git CLI

- Ensure you have the right things installed: :doc:`/reference/prerequisites`
* **Discussion**: [TODO] Merge strategies

- Learn about what Git is for: :doc:`./discussion/about-git`
* **Tutorial**: [TODO] Pull requests

- Do the beginner tutorial: :doc:`/tutorial/working-locally/index`
* **Tutorial**: [TODO] Forks

- See the "How To"s on the left nav-bar. They can be used as a Git cheat sheet!

- Selected reference materials:
- :doc:`./reference/glossary`
- :doc:`./reference/best-practices-and-good-habits`
- :doc:`./reference/external-resources`

* See the "How To"s on the left nav-bar. They can be used as a Git cheat sheet!

* Selected reference materials:
* :doc:`./reference/glossary`
* :doc:`./reference/best-practices-and-good-habits`
* :doc:`./reference/external-resources`


.. include:: what-to-expect.md
:parser: myst_parser.sphinx_
2 changes: 1 addition & 1 deletion doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
:numbered:
:hidden:

tutorial/working-locally/index.rst
tutorial/1b-intro-to-git-cli/index.rst
tutorial/working-with-others/index.rst


Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Working with Git locally
========================
Intro to Git through CLI commands
=================================

In this tutorial, you will create a Git repository, make and track several changes,
create and work on independent {term}`branches<Branch>`, and merge work from different
Expand All @@ -15,8 +15,8 @@ files and directories in your operating system of choice.


.. toctree::
:name: Tutorial #1 steps
:caption: Tutorial #1 steps
:name: Tutorial #1b steps
:caption: Tutorial #1b steps
:maxdepth: 1
:glob:

Expand Down
2 changes: 1 addition & 1 deletion doc/tutorial/working-with-others/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ commits from Bitbucket and :code:`pull` your main branch up-to-date with those c


Before starting this tutorial, you should have completed the first tutorial
:doc:`/tutorial/working-locally/index`.
:doc:`/tutorial/1b-intro-to-git-cli/index`.

.. note::
If you're looking for quick help with specific tasks, check out the How-Tos instead!
Expand Down
0