Git

Why do we need it? If you’re working on a small project that’s all yours, and you don’t plan to share it with anyone else, then Version Control may not really be an issue. However, the days when an individual designs and develops a professional project on his or her own are all but gone. You can manage changes by yourself without too much difficulty, but when others become involved – things can get tricky pretty quick. This wouldn’t be so bad if there was a clean separation of responsibilities. At first you might think that when you’re finished with your part of a project, you’ll send it off to your colleague Sarah to finish. But this is not practical for a number of reasons. Much of the time you’ll find yourself working on projects – and even files – concurrently with others. Version Control allows a team to work synchronously. It helps the team cope with the confusion that arises from multiple people editing the same files. Git is a version control system created by Linus Torvalds (who also happens to be the creator of Linux). He named this version control system after himself. When using Git, you and Sarah can each work on separate visions of a project and Git will save two distinct copies. Later, you can merge your changes together without losing any of your precious work. If you later realise you made a horrible mistake, you can revert to an earlier version at any time. Git keeps a “snapshot” of every change ever made. Hurray! This is the essence of version control and Git does it very well indeed.

Git Fundamentals

Git Overview

   What is Version Control? - Video

   What is Git? - Video

   Get going with Git - Video

   Quick wins with Git - Video

Git Tutorials

Terminal/Command Line Tutorials

A command line interface is a means used for interacting with software or files by typing commands to perform specific tasks. The command line interface is the baby brother of programming languages. Learning the command line teaches you to control the computer using language rather than mouse-clicking on icons trees and folders. You’ll need to get the basics in place in order to use Git

Mac Terminal

   Mac - Using the Terminal

   Mac - Terminal Commands - Video

Windows Command Line

   Windows - Using the Command Line

   Windows - Using the Command Line 1 - Video

   Windows - Using the Command Line 2 - Video

Linux Terminal

   Linux - Using the Terminal 1 - Video

   Linux - Using the Terminal 2 - Video

   Linux - Using the Terminal 3 - Video

   Linux - Using the Terminal 4 - Video

Installing Git

To get started Git you need to install it on your local machine

   Installing Git

Git Basic Commands

Git can be used in the Command Line/Terminal or via a GUI interface. It’s a good idea to have an understanding of Git on the command line to appreciate its goodness

   Git - Essential Steps & Commands To Get You Up and Running

   Git - A More Comprehensive Tutorial

Working on GitHub

Welcome to GitHub! By reading these Stream 0 documents you are already taking your first steps into the world of hosted social version control. You can see the documents created and the history of all the edits, additions, deletes and formatting used to put all of this together

GitHub is not strictly a development tool – it can be thought of as a social network for documents. You build a profile, upload projects to share, and connect with other users. You can even follow other user accounts. While many users store code projects, there’s nothing stopping you from using Github to store your favourite recipes or anything else you want. Strictly speaking, we don’t need to know coding to use GitHub. We can sign up and explore, but we would be missing the point. As developers, to get the real benefit we need to get our hands dirty with Git. GitHub is based around the Git version control system.

There is a GitHub software download for Windows and Mac, which has a GUI (Graphical User Interface) to help you manage your projects locally. More importantly, by registering with GitHub.com, your projects can be uploaded to the Web, shared, and collaborated on with others. You can browse other GitHub users’ projects, and even download copies for yourself to alter and learn from. Other users can do the same with your public projects, and even spot errors and suggest fixes. Either way, no data is lost because a snapshot is made of every change.

   Set Up a GitHub Account

   GitHub Flow -

   GitHub Hello World

   GitHub Adding a Project

Install Github for desktop - The people at GitHub assume that if you are a Linux user then you’re a command line nut, so no GUI for you guys

   Installing GitHub Desktop

Git References

   Git Cheat Sheet

   Git Interactive Cheat Sheet

   Git Reference

   GitHub Showcase

Git & Github Foundations Video Lessons

   GitHub & Git Foundations - Introduction

   GitHub & Git Foundations - Setup

   GitHub & Git Foundations - Config

   GitHub & Git Foundations - Init

   GitHub & Git Foundations - Commit

   GitHub & Git Foundations - Log

   GitHub & Git Foundations - Remove

   GitHub & Git Foundations - Move

   GitHub & Git Foundations - Ignore

   GitHub & Git Foundations - Branch

   GitHub & Git Foundations - Checkout

   GitHub & Git Foundations - Merge

   GitHub & Git Foundations - Network

   GitHub & Git Foundations - GUI

   GitHub & Git Foundations - Intro To GitHub

   GitHub & Git Foundations - Forking

   GitHub & Git Foundations - Pull Requests

   GitHub & Git Foundations - Reset

   GitHub & Git Foundations - Reflog

   GitHub & Git Foundations - Rebasing