The quickest and easiest “Getting Started w/ GitHub” article you’ll ever read!

Quick Overview

  • Read “The Most Official and Complete Introduction on GitHub – Ever Written”
  • Read “What 80% of People Do On GitHub”
  • Download and Configure GitExentions in 5 Clicks
  • Read “Use GitHub Like 80% of People”

 

The Most Official and Complete Introduction on GitHub – Ever Written

GitHub – A website to store and share code

  • Repository – Where code is stored. Either, on GitHub or local machine – they are like folders.
  • Clone – Transfer a repository, typically on GitHub, to your local machine – better than FTP
  • Commit – Confirm code changes to a local repository – the ultimate CTRL + S
  • Push – Upload your committed code changes to GitHub – again, arguably better than FTP
  • Fork – Make a copy of someone else’s GitHub repository – stored under your GitHub account
  • Pull Request – Make code changes to a forked repository then request the code changes be pulled into the original repository!
  • Pull – Download the latest code changes to the original repository to your local machine

 

What 80% of People Do On GitHub

  • Fork a repository
  • Clone the forked repository to local machine
  • Make code changes
  • Add code
  • Commit the code changes, locally
  • Push local code changes to GitHub
  • Submit Pull Request to have code changes, on GitHub, added to the original repository
  • Rinse
  • Repeat

 

Download and Configure GitExtensions in 5 Clicks

  • Download and Install GitExentions (includes w/ MsysGit and Kdiff)
    install_2
  • Repair your “username” and “email address”
    2012-01-18_231633

Use GitHub Like 80% of People

  • Fork a repository
    fork_1
  • Configure GitExtensions for cloning
    clone
  • Enter GitHub username, password and API key
    api
    api_key
  • Clone a repository
    Note: GitExtensions automatically suggests a Remote name. Use this remote name to pull (download) the latest code changes from the original repository
    repo_selection
  • Commit code changes
    open
    commit
    commit_2
  • Push (upload) changes to GitHub
    push
  • Submit a Pull Request
    pull_request
  • Guest

    Interesting that you chose to show this using GUI extensions. Did you consider just using the bash command line that comes with mysgit? My usual workflow is simply: git add . git status git commit -m “commit notes” git push origin master

    • Anonymous

      Yup, sure did. However, I think they’re are a fair amount of command line tutorials out there. Also, I wanted to help with the GitHub “on boarding” process. Also, I felt people might feel more comfortable, in the beginning, with a visual aid for GitHub interaction! :)

      • Asd

        And you’re right about that!

      • Ens

        Visual is fine, thank you!

  • Fake

    WTF is this GUI stuff doing here? I was all excited when I read the introduction, and then I see that you want me to click boxes and things. Why install a clunky extension when I already have git on the command line?

    • Anonymous

      Haha – yes, I’m aware the command line exists.

    • Zidagar

      I mostly use the GUI tools because I’m addicted to the “stage hunk of file”, “stage selected lines”, and “reset hunk of file” commands in Git Ext. The only equivalent of those from the CLI is ‘git add -i’ which is a bit harder to use since you can’t just point and click at the code you want to keep or throw away.

  • Ryanlowdermilk

    You know, it’s probably a bad idea to post your password publicly… go look at your most recent repository. :)

    • Anonymous

      Haha – thanks for the heads up. NICE EYE!

  • Windowslol

    At first I was like :D but then D:

    • Anonymous

      Haha – let me guess, you wanted some command line lovin’!?