Skip to content

A high-level tutorial for setting up and using GitHub, and Jupyter Notebooks.

License

Notifications You must be signed in to change notification settings

MSE-NCCOS-NOAA/How_to_GitHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 

Repository files navigation

How to GitHub

This is a high-level tutorial for setting up and using GitHub, and Jupyter Notebooks.

The Objectives

  • Introduce GitHub and some terminology
  • Walk-through creating a work GitHub account
  • Setup Git, GitHub Desktop, and our Integrated Developer Environment (IDE)
  • Create our first Jupyter Notebook and Google Colab (supports Python and R)
  • Make our first commit, and push to a repo on our work GitHub account
  • Move a repo from our work GitHub account to the Organizational account

If you have not used GitHub before, do not fret, it's a pretty simple tool, but a powerful one at that. Let's start with some basic definitions!

The Ecosystem

  • Git - installed on your computer; it allows groups of developers to collaborate on the same documents (often source code) simultaneously and without overriding each other’s work.
  • Version Control - a system that records changes to a file or set of files over time so that you can recall specific versions later.
  • GitHub - allows developers to host their files in a ‘Git Repository’ so that other people can collaborate on projects with them, whether they are open for public contribution (open source) or closed for specific colleagues to work on a private project.
  • GitHub Desktop - an application that enables you to interact with GitHub using a GUI instead of the command line or a web browser. GitHub Desktop encourages you and your team to collaborate using best practices with Git and GitHub.
  • Repository - a repo is essentially a project’s folder, much like the kind of folder you would see in a Dropbox or Google Drive folder.
  • IDE - is software for building applications that combines common developer tools into a single GUI; R Studio is an IDE, for example.

The Actions

  • Commit - a commit or revision is like ‘saving’ an updated file to its original folder and overwrites an older version.
  • Clone - literally clones (copies) of a repository that sit on the developer’s computer instead of a server elsewhere.
  • Branch - a parallel version of a repository (ie; it literally branches out or away from the main repository, kind of like a temporary sub-folder).
  • Fetch - refers to getting the latest changes from an online repository (like github.com) without merging them in.
  • Fork - a ‘fork’ is a personal copy of another user's repository that lives on your GitHub account; forks allow you to freely make changes to a project without affecting the original.
  • Push - refers to sending your committed changes to a remote repository such as github.com.
  • Issue - suggested improvements, tasks or questions related to the repository; created by anyone (for public repositories), and are moderated by repository collaborators.
  • Blame - describes the last modification to each line of a file, which generally displays the revision, author and time. This is helpful, for example, in tracking down when a feature was added, or which commit led to a particular bug.
  • Pull Request -a mechanism for a developer to notify team members that they have completed a feature.
  • Merge - takes the changes from one branch (in the same repository or from a fork), and applies them into another.

Now that we have gone over the basics, let's look at the tutorials:

In addition, it is highly recommended that you watch these tutorial videos to help get a high-level understanding:

For those who regularly use RStudio, the extensive tutorial series: "Happy Git and GitHub for the useR", by Jenny Bryan and Jim Hester has been recommended multiple times, definitely check it out!

Legal Disclaimer

This repository is a software product and is not official communication of the National Oceanic and Atmospheric Administration (NOAA), or the United States Department of Commerce (DOC). All NOAA GitHub project code is provided on an 'as is' basis and the user assumes responsibility for its use. Any claims against the DOC or DOC bureaus stemming from the use of this GitHub project will be governed by all applicable Federal law. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation, or favoring by the DOC. The DOC seal and logo, or the seal and logo of a DOC bureau, shall not be used in any manner to imply endorsement of any commercial product or activity by the DOC or the United States Government.

License

Software code created by U.S. Government employees is not subject to copyright in the United States (17 U.S.C. §105). The United States/Department of Commerce reserve all rights to seek and obtain copyright protection in countries other than the United States for Software authored in its entirety by the Department of Commerce. To this end, the Department of Commerce hereby grants to Recipient a royalty-free, nonexclusive license to use, copy, and create derivative works of the Software outside of the United States.

The National Ocean Service is committed to making its website accessible to the widest possible audience, including people with disabilities, in accordance with Section 508 of the Rehabilitation Act (29 U.S.C. 794d).

Section 508 is a federal law that requires agencies to provide individuals with disabilities equal access to electronic information and data comparable to those who do not have disabilities, unless an undue burden would be imposed on the agency.

The Section 508 standards are the technical requirements and criteria that are used to measure conformance within this law. More information on Section 508 and the technical standards can be found at Section508.gov.

About

A high-level tutorial for setting up and using GitHub, and Jupyter Notebooks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published