Skip to content

QuickFix #1: Reference materials and a sample repo for a hands-on Git/GitHub workshop (slides link below)

Notifications You must be signed in to change notification settings

QuickFixes/just-gittin-started

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Robotics+IEEE QuickFix #1

Git and GitHub Workshop

event banner graphic

This repository hosts reference materials and a sample repo for a hands-on Git/GitHub seminar.

Through the magic of Git, we've mirrored the course materials on GitHub.com for folks who can't login in through UC's CLS. Most project-specific links should include one link to the github.uc.edu version (and one in parentheses for the github.com version). If we've missed any of those, or if you notice any other kinds of brokenness, feel free to file an issue (on github.com) or a pull request for the "origin" repository here at UC. :)

Short URLs for this course

Here's the short link to get you back here: http://bit.ly/quickfix1home

Here are some other helpful links:

URLWhat?
bit.ly/quickfix1chat If we get a big turnout and there aren't enough facilitators for every room, we'll be monitoring this Gitter.im chat room for questions. Requires a GitHub.com account.
bit.ly/quickfix1faq A list of what we predict might be Freqently Asked Questions, on the workshop's wiki. Pull requests welcome!
bit.ly/quickfix1wiki The workshop's GitHub project wiki. The step-by-step tutorials we'll be going through in the workshop are here.

Giving feedback

One of the best ways to communicate with us about this workshop is to file an issue, right here on the project page, even if it's just to complain about something. Even if it's just to experiment with how to file an issue! We're all learning here: you, how to do Git stuff, us, how to do Git stuff and also how to teach Git stuff.

If there's something wrong with the course materials, or you have an idea for improvement, you can file a pull request. We'd prefer all the issues and requests stay here on github.uc.edu so they're all in once place, but if you get mixed up and create them on the GitHub.com copy of this repository, that's all right. We get email notifications either way.

The workshop's wiki (on github.com) is editable by anyone. No need to ask permission to fix things there!

While the workshop is going on, you can also hit us up on the Gitter chat room: to ask for help because we're in another room, or just to kvetch about something. This requires a GitHub.com account to sign in, but that's it. We'll also be intermittently monitoring Twitter for #GitHubQuickFix, if that's your thing.

What you'll need to get started

tl;dr version

  1. The slides for this course (on github.com), if you're not physically attending and just want an overview of what's going on.

  2. A GitHub.com account if you want to use the chat room for the workshop. You don't need to sign up for any accounts to use this repository on github.uc.edu, though. That uses your regular UC CLS (six+two) login.

  3. GitHub Help, or your trusty googles if you get stuck. You can also have a look at our references page (on github.com).

  4. Software

    No-install option: Go to try.github.io. Yup. That's it. All in the browser.

    Otherwise:

    1. Sublime Text (cross-platform, free to try)
    2. the official GitHub client for your platform (Mac, Windows)
    3. On Linux: <your package manager's install command> git-core plus git-cola (KDE) or giggle (Unity/GNOME/XFCE) if you want something a bit nicer than gitk for visualizing your source tree.
  5. Get your learn on

Longer explanation

We know that not everyone at our workshop will be eager to dive into a Unix shell and start using Vim and console git commands. So out of consideration for folks without much command-line experience, and for consistency, we'd like everyone to install Sublime Text the official GitHub GUI clients before coming to the seminar.

These are straightforward, one-double-click installs for Mac and Windows.

  • Sublime Text is available for all three major OSes (not Amiga, sorry), has good out-of-the box keybindings and syntax highlighting, and pretty good Git integration with a plugin (for more advanced users).
  • The official GitHub client for Windows includes a self-contained installation of the Git command-line tools, and a colorized Powershell Git environment, which saves you the effort of installing msysGit or some other distribution. (Recent versions of Mac OS X already have git installed, and Terminal.app should be somewhere in your "Applications" folder.)

All that being said, if you're comfortable using some other text editor (that is not Microsoft Word, sorry) and/or prefer to do all your Git stuff from the command line, that's just fine. Just realize that we simply won't have time to work out installation issues if you stray too far off the path.

##Resources on the Web

The References (on github.com) article in this project's wiki is very comprehensive, and already includes most of the resources listed below. It's organized by skill level, so you can tell at a glance which ones are useful to you.

References

  1. Documentation on git-scm.com - online help, videos, and ebooks, straight from the source
  2. GitHub Help - comprehensive online help that covers Git and GitHub topics
  3. git ready - cookbook-style help for Git, when you already sort of know what you're trying to do but maybe don't know the precise Git nomenclature for it
  4. Mastering Markdown - on GitHub.com; Markdown is the markup language used in GitHub issues, comments, and the default README.md for new repositories
  5. Highest voted questions tagged 'git' on Stack Overflow

Videos

  1. Webcast • The Basics of Git and GitHub • July 2013 - a 50-minute webcast hosted by a GitHub employee that provides a high-level overview of what Git is, why you'd want to use it, and how GitHub.com layers extra collaborative features on top of Git SCM.
  2. GitHub Training & Guides YouTube channel (check out their video intro for a quick chuckle)
  3. GitHub Guides: GitHub & Git Foundations - bite-sized videos covering one Git or GitHub topic each (e.g., git diff, git rm, branch, checkout, and merge)
  4. Jessica Kerr: "Git Happens" - a 54-minute conference talk which explains Git concepts like branching, merging, and rebasing in a highly visual way. Good if you're compfortable with basic Git usage, but have always wondered about more advanced usage like branching and rebasing. If you stick with it until the end, you'll be rewarded with an epiphany about git rebase -i. Promise.
  5. Michael Schwern: "Git for Ages 4 and Up" - a demonstration of advanced Git functions (branch, merge, rebase) using Tinker Toys. Over an hour long, but totally worth it for the epiphanies you'll have about HEAD, tags, branching, and merging, if you didn't really "get" those concepts before.

Tutorials

If you want a brief hands-on introduction to command-line Git with not much time commitment, there's try.github.io, in the hallowed tradition of _why the lucky stiff's Try Ruby.

I highly recommend Git Immersion (created by locals at Neo) when you're ready to gain a deeper understanding of command-line Git. Git Immersion is structured into a bunch of separate exercises, with no requirement to start at the beginning if you know a lot of Git stuff already. You can use UCFileSpace for shell access and UC's GitHub Enterprise server as the remote "origin" repository, if you wish.

Neo's tutorial helps you install Git on your workstation (but you can use UCFS for that; on github.com), gets you up-and-running with a sane Git configuration, walks you through all of the common commit/push/merge operations, and even forces you to break (and fix) things in some of the advanced lessons. Each lesson is short, and easy to go back and reference later when you run into trouble on a real project. Although the tutorial's sample project is comprised of Ruby code, no familiarity with the Ruby language is actually required to complete the tutorial.

Where to next?

Check out the "When you're ready to learn more" (on github.com) section of this workshop's wiki.

"Think Like (a) Git" and the "Advanced Git: Graphs, Hashes, and Compression" YouTube video are pretty satisfying resources when feel like you've got the basics and you're ready to learn more about Git internals.

About

QuickFix #1: Reference materials and a sample repo for a hands-on Git/GitHub workshop (slides link below)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published