Git

Git

(https://git-scm.com/)
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.



Ry’s Git Tutorial, RyPress

Available online at http://rypress.com/tutorials/git/index

 

 

ry_git.fw

Ry’s Git Tutorial is a complete introduction to distributed version control with a focus on practical command line usage. We explain Git’s robust branching, merging, and collaboration capabilities from the ground up, so prior experience with centralized systems like SVN or CVS is not required.

Designed for newcomers to distributed development, Ry’s Git Tutorial presents this complex subject in simple terms that anyone can understand. Beginner and veteran programmers alike will find this book to be a fun, fast, and friendly introduction to Git-based revision control.

Git is a free version control system known for its speed, reliability, and non-linear development model. Its popularity among open-source developers makes Git a necessary tool for professional programmers, but it can also do wonders for your personal coding workflow. You’ll be able to experiment with new ideas, radically refactor existing code, and efficiently share changes with other developers—all without the slightest worry towards breaking your project.

This comprehensive guide will walk you through the entire Git library, writing code and executing commands every step of the way. You’ll create commits, revert snapshots, navigate branches, communicate with remote repositories, and experience core Git concepts first-hand.


Code School

Code School – Free Git Course

(https://www.codeschool.com/)Try Git Completion Badge

Try Git
Learn how to use Git by reviewing the basic concepts of Git version control. Try out this introductory course that was created with GitHub.

Learn how to use Git by reviewing the basic concepts of Git version control. Try out this introductory course that was created with GitHub.

Level 1 Free Level
Discover Git 25 Challenges
Discover the basics of Git, including how to initialize a repo. Learn how to add, commit, and push your code to GitHub.


branching-illustration@2xLearn Git in your browser for free with Try Git
(https://try.github.io/levels/1/challenges/1)


Download Git at https://git-scm.com/download/win
The latest release is 2.6.0.  Released 28/9/2015.

Available for MAC OS, Linux, Windows and Solaris.


Documentation (Reference Manual, Book, Videos and External Links)
(https://git-scm.com/doc)


Git Reference (http://gitref.org/)
This is the Git reference site. It is meant to be a quick reference for learning and remembering the most important and commonly used Git commands. The commands are organized into sections of the type of operation you may be trying to do, and will present the common options and commands needed to accomplish these common tasks.

Each section will link to the next section, so it can be used as a tutorial. Every page will also link to more in-depth Git documentation such as the official manual pages and relevant sections in the Pro Git book (https://git-scm.com/book/en/v2) so you can learn more about any of the commands. First, we’ll start with thinking about source code management like Git does.


Download GitHub Git Cheat Sheet (PDF 361KB)


Lifehacker UKHow the Heck Do I Use GitHub?
(http://lifehacker.com/5983680/how-the-heck-do-i-use-github)

GitHub’s a great tool but it’s definitely a little confusing the first time around (and, possibly, a few times after that). That’s likely why GitHub created software (for OS X and Windows) to make the process a bit easier. Nevertheless, it’s good to learn the old-fashioned way otherwise your options in the simplified software won’t make sense. Let’s start by walking through the basics.

How the Heck Do I Use GitHub?


Visual Git Cheat Sheet
(http://ndpsoftware.com/git-cheatsheet.html)


progitChacon, S. and Straub, B. (2009) “Pro Git”, 2nd Edition, Apress

Download Chacon, S. and Straub, B. (2009) “Pro Git” (PDF 5,346KB)

Online version at:
https://git-scm.com/book/en/v2/

 

The entire Pro Git book, written by Scott Chacon and Ben Straub and published by Apress, is available here. All content is licensed under the Creative Commons Attribution Non Commercial Share Alike 3.0 license.

Chapter 1: Getting Started

1.1 About Version Control

1.2 A Short History of Git

1.3 Git Basics

1.4 The Command Line

1.5 Installing Git

1.6 First-Time Git Setup

1.7 Getting Help

1.8 Summary

Chapter 2: Git Basics

2.1 Getting a Git Repository

2.2 Recording Changes to the Repository

2.3 Viewing the Commit History

2.4 Undoing Things

2.5 Working with Remotes

2.6 Tagging

2.7 Git Aliases

2.8 Summary

Chapter 3: Git Branching

3.1 Branches in a Nutshell

3.2 Basic Branching and Merging

3.3 Branch Management

3.4 Branching Workflows

3.5 Remote Branches

3.6 Rebasing

3.7 Summary

Chapter 4: Git on the Server

4.1 The Protocols

4.2 Getting Git on a Server

4.3 Generating Your SSH Public Key

4.4 Setting Up the Server

4.5 Git Daemon

4.6 Smart HTTP

4.7 GitWeb

4.8 GitLab

4.9 Third Party Hosted Options

4.10 Summary

Chapter 5: Distributed Git

5.1 Distributed Workflows

5.2 Contributing to a Project

5.3 Maintaining a Project

5.4 Summary

Chapter 6: GitHub

6.1 Account Setup and Configuration

6.2 Contributing to a Project

6.3 Maintaining a Project

6.4 Managing an organization

6.5 Scripting GitHub

6.6 Summary

Chapter 7: Git Tools

7.1 Revision Selection

7.2 Interactive Staging

7.3 Stashing and Cleaning

7.4 Signing Your Work

7.5 Searching

7.6 Rewriting History

7.7 Reset Demystified

7.8 Advanced Merging

7.9 Rerere

7.10 Debugging with Git

7.11 Submodules

7.12 Bundling

7.13 Replace

7.14 Credential Storage

7.15 Summary

Chapter 8: Customizing Git

8.1 Git Configuration

8.2 Git Attributes

8.3 Git Hooks

8.4 An Example Git-Enforced Policy

8.5 Summary

Chapter 9: Git and Other Systems

9.1 Git as a Client

9.2 Migrating to Git

9.3 Summary

Chapter 10: Git Internals

10.1 Plumbing and Porcelain

10.2 Git Objects

10.3 Git References

10.4 Packfiles

10.5 The Refspec

10.6 Transfer Protocols

10.7 Maintenance and Data Recovery

10.8 Environment Variables

10.9 Summary

Appendix 1: Git in Other Environments

A1.1 Graphical Interfaces

A1.2 Git in Visual Studio

A1.3 Git in Eclipse

A1.4 Git in Bash

A1.5 Git in Zsh

A1.6 Git in Powershell

A1.7 Summary

Appendix 2: Embedding Git in your Applications

A2.1 Command-line Git

A2.2 Libgit2

A2.3 JGit

Appendix 3: Git Commands

A3.1 Setup and Config

A3.2 Getting and Creating Projects

A3.3 Basic Snapshotting

A3.4 Branching and Merging

A3.5 Sharing and Updating Projects

A3.6 Inspection and Comparison

A3.7 Debugging

A3.8 Patching

A3.9 Email

A3.10 External Systems

A3.11 Administration

A3.12 Plumbing Commands


Top 10 Git Tutorials for Beginners
(http://sixrevisions.com/resources/git-tutorials-beginners/)

As a web designer or web developer, you’ve probably heard of Git before, a version control system that has had a swift ascension to ubiquity due in part to GitHub, a social code repository site.

If you’d like to learn how to use Git, check out my top 10 favorite Git tutorials for beginners. At the end, you’ll also see a list of other educational Git resources.


Git for Beginners
(http://www.sitepoint.com/git-for-beginners/)

It is a general tendency of human beings to resist change. Unless Git was around when you started with version control systems, chances are that you are comfortable with Subversion. Often, people say that Git is too complex for beginners. Yet, I beg to differ!

In this tutorial, I will explain how to use Git for your personal projects. We will assume you are creating a project from scratch and want to manage it with Git. After going through the basic commands, we will have a look at how you could put your code in the cloud using GitHub.

We will talk about the basics of Git here — how to initialize your projects, how to manage new and existing files, and how to store your code in the cloud. We will avoid relatively complex parts of Git like branching, as this tutorial is intended for beginners.


This tutorial explains the usage of the distributed version control system Git via the command line. The examples were done on Linux (Ubuntu), but should also work on other operating systems like Microsoft Windows.

 

 


Git Tutorial – Become a Git Guru
(https://www.atlassian.com/git/tutorials/)


tutorialspointGit Tutorial
(http://www.tutorialspoint.com/git/)

Git is a distributed revision control and source code management system with an emphasis on speed. Git was initially designed and developed by Linus Torvalds for Linux kernel development. Git is a free software distributed under the terms of the GNU General Public License version 2.

This tutorial explains how to use Git for project version control in a distributed environment while working on web-based and non web-based applications development.


Manage Your Code with Git and GitHub
(https://openclassrooms.com/courses/manage-your-code-with-git-and-github)

Do you write code and work with other developers? Do you want to be able to track changes to your code and be safe/not lose everything in case anything ever happens to your main computer or server?

Version control is essential these days. Git, a tool created by Linus Torvald, is a great option, and that’s what we’ll explore in this course. Next, you’ll dive into the Git universe: commit, branches, merges… you’ll understand it all! You’ll also learn how to use GitHub to save your own code and contribute to open source projects.

Let’s discover Git and GitHub together in this course!


Git on Windows
(https://support.codebasehq.com/articles/getting-started/git-on-windows)

Getting Git ready to use on Linux or OS X is simple. This guide is about setting up GIT and SSH on Windows, it’s a bit more time consuming to do than the other two operating systems, but once it’s up and running you can use it in the same way.


githuboctacatGitHub

(https://github.com/)
GitHub is where people build software. More than 11 million people use GitHub to discover, fork, and contribute to over 27 million projects.
GitHub is a Web-based Git repository hosting service. It offers all of the distributed revision control and source code management (SCM) functionality of Git as well as adding its own features. Unlike Git, which is strictly a command-line tool, GitHub provides a Web-based graphical interface and desktop as well as mobile integration. It also provides access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project.

GitHub offers both plans for private repositories and free accounts,[4] which are usually used to host open-source software projects.  As of 2015, GitHub reports having over 9 million users and over 21.1 million repositories, making it the largest host of source code in the world.


GitHub Training
(https://training.github.com/kit/)


GitHub for Developers
A tour through Git and GitHub concepts for those who use the command line.
(https://training.github.com/kit/courses/github-for-developers.html)


GitHub for Everyone
An introduction to GitHub for those who prefer the graphical and web browser clients
(https://training.github.com/kit/courses/github-for-everyone.html)


FREE UDEMY VIDEO COURSE – Git Started with GitHub
(https://www.udemy.com/git-started-with-github/)

Learn the basics of Git and GitHub, with clear, step-by-step instructions by a highly rated teacher.
This course is designed to jump right into showing how Git and GitHub work together, focusing on the Git basic workflow. Students can expect to learn the minimum needed to start using Git in about 30 minutes.

Course OutlineCourse Introduction and Overview provides an introduction to this course and the key concepts with the Git source control system.

Installation provides step-by-step instructions on how to setup Git for Windows and Mac OS X, how to use Git’s help command.

After the Installation section, we walk through the entire Git basic workflow — starting off in GitHub, working locally, and then publishing our changes back to GitHub.

Finally, I have some parting words and some bonus content!

Course Features

Presentations provide audio/video training of conceptual ideas. Since few like slide-ware presentations, slide-presentations are kept to a minimum.

Screencasts provide a video of the instructor’s computer system with any actions, commands, or screens displayed and narrated.

Following each lecture or group of related lectures in the demo sections of the course are Command Listing lectures that serve as reference and reminder of the commands used in the previous lecture(s). Each Command Listing includes the exact listings used in the previous lectures and a reference guide for newly introduced commands. All commands used in this course are available through the Command Listing lectures.

Several attachments throughout the course provide supplemental information, illustrations, or other reference material.


FREE UDEMY VIDEO COURSE – Command Line Essentials: Git Bash for Windows
(https://www.udemy.com/git-bash/)

A step-by-step guide for Windows users unfamiliar with Bash or the terminal environment.

This course is designed to cut academic theory to just the key concepts and focus on basics tasks in the Bash command line in order to be productive quickly. Students can expect to learn the minimum needed to start using the Bash shell in less than an hour.

Course Outline

Course Introduction and Overview provides an introduction to this course and the Bash shell environment.

Installation provides step-by-step instructions on how to setup Git for Windows and the Notepad++ text editor.

The real meat of the course is the Basic Commands section, where we step through many of the common Bash commands and uses. Towards the end, we start putting the commands together to build a simple Bash script, which we also execute.

Finally, I share some final thoughts in the Conclusion.

Course Features

Presentations provide audio/video training of conceptual ideas. Since few like slide-ware presentations, slide-presentations are kept to a minimum.

Screencasts provide a video of the instructor’s computer system with any actions, commands, or screens displayed and narrated — this is the majority of the course.

Following the Basic Commands section, there is a downloadable reference of all the commands used in this course.

The quizzes reinforce the key concepts by testing your newly learned knowledge throughout the course.


FREE UDEMY VIDEO COURSE – Short and Sweet: Get Started with Git and GitHub Right Now
(https://www.udemy.com/short-and-sweet-get-started-with-git-and-github-right-now/)

Save time, avoid pitfalls, and get started on the right track. Push your first software changes to GitHub in 30 minutes!
Are you a software developer who wants to get started right now with Git and GitHub? If you’ve heard of Git and GitHub but aren’t sure how to begin, this course takes away the guesswork.

Save time and get up and running with Git and GitHub – fast and free!

Using Git on the command line can seem difficult at first because the commands are exacting, and they can trip you up if you get out of sync.

But Git and GitHub are a mainstay of modern software version control. They provide a backup mechanism, a record of your project’s history, a collaboration mechanism, and a base for a public portfolio that could get you a job.

In just 30 minutes, this “Short and Sweet” course covers the essential ideas you need to move forward, without a lot of filler. At the end of the course, you’ll be able to set up a GitHub account, install Git, create and configure new Git and GitHub repositories, create a change history for your software projects, and publish your software projects to GitHub.

Please note: This course does not cover intermediate and advanced topics. It’s a free introduction for beginners, not a deep-dive into collaboration, branching and merging. If you’re interested in those topics, please take an intermediate or advanced course.

But if you’re just starting out and you’re looking for a step-by-step introduction that helps you sidestep common pitfalls, this course IS for you and I hope you’ll enroll.

My goal is to make this course the easiest-ever introduction to Git and GitHub. Please let me know if anything in the course could be clearer, and I’ll be happy to help you. It also will help me improve the course.

If you’re ready to learn more and sign up for the course, go ahead and hit that Enroll button – the course is free, so there’s no risk to you!


FREE UDEMY VIDEO COURSE – Getting Started as a Web Developer
(https://www.udemy.com/refactoru-getting-started-as-a-web-developer/)

We introduce you to your development environment including Sublime Text, Command Line, and Git for version control.
So you’ve decided to make the jump into web development! Great decision! But where do you start?
In this course we’re going to be looking at how to get you started as a developer. We’ll get you set up with your environment. We’ll explore Sublime Text 3 as an editing tool, and we’ll also take a look at command line, which is a tool we’ll be using a lot as developers. Finally, we’ll also take a look at Git which is version control for our projects – essentially a way to make sure changes are being logged and we have good backup systems for our actual work.

Course Includes:

  • 15 videos with over an hour of lectures and explanations.
  • 10 external resource files.
  • 1 practice exercise to help you master Git workflows.

What You’ll Learn:

Command Line – the primary way you’ll interact with your project files and development environment.

  • Common Commands

Source Code Control – Git is a popular version / source control and code management system that will allow you to keep track of changes to the code you write.

  • Introduction to Source Control (Git).
  • Learn what Github is and how to use it.
  • Creating your first repository.
  • Pushing your files to Github.
  • Cloning a repository.
  • Updating files.
  • Organizing your files.
  • Additional Git resources.

Chrome Developer Tools – web authoring and debugging tools built into Google’s Chrome web browser.

Sublime Text – the application you’ll use to write code.


Installing Git on Windows
(https://support.codebasehq.com/articles/getting-started/git-on-windows/)

Getting Git ready to use on Linux or OS X is simple. This guide is about setting up GIT and SSH on Windows, it’s a bit more time consuming to do than the other two operating systems, but once it’s up and running you can use it in the same way.

 


Java Code GeeksGit Tutorial – The Ultimate Guide
(https://www.javacodegeeks.com/2016/07/git-tutorial.html)

Git is, without any doubt, the most popular version control system. Ironically, there are other version control systems easier to learn and to use, but, despite that, Git is the favorite option for developers, which is quite clarifying about the powerfulness of Git.
This guide will cover all the topics needed to know in order to use Git properly, from explaining what is it and how it differs from other tools, to its usage, covering also advanced topics and practices that can suppose an added value to the process of version controlling.