CARVIEW |
Welcome to the GitHub Learning site
Here we have tried to compile the best online learning Git resource available. There are a number of articles and screencasts, written and arranged to try to make learning Git as quick and easy as possible.
This site is a work in progress.
Beginner
What Git is, why you would want to use it and where to get it and learn about it.
Setup your Git environment, then create a new Git repository and clone an existing one.
Syncronize with a remote repository, make changes, then stage and commit them.
Create and work on topic and long running branches, merge between them and delete them.
Create signed, unsigned or lightweight tags to permanantly mark important points in your project history.
Browse your project history, find specific commits and visualize the branching and merging actions.
Show differences between different versions of your projects or specific files within your project.
Intermediate
Fetch, merge, pull and push between multiple remote repositories.
Replay changes from one branch onto another branch to preserve a linear history.
Temporarily save changes to your working directory and staging area without having to commit, then reapply the changes later.
Stage and unstage changes to files or partial files with an interactive Git tool.
Revert, unmodify or unstage a file or project state at any point.
Change the latest commit message, or redo the last commit by adding or removing files from it.
Rebase multiple files interactively, squashing, reordering or amending commits in between.
Setup aliases for common commands and other personal options in Git - autocompletion, bash branch, colors and more.
Advanced
Modify large sections of your commit history at once, changing emails, names or files globally.
Learn the fsck and gc commands to diagnose problems and keep your repository small.
Browse the history of your local references even if they're not referenced anywhere else anymore.
Find lost commits or branches and restore them, or recover from partial database corruption.
Learn the client and server side pre and post action hooks and some useful example scripts to use with them.
Selecting individual commits or ranges of commits using helpful Git shorthands.
Explore the internal workings of Git - the different object types and how to view the raw data via several useful plumbing commands.
Submodule usage and other tips for keeping subprojects in your Git repository.
Special Interest
Install and use Git on a Windows environment using the default mSysGit tools.
Installing and using the Git Extensions shell extensions tools on Windows.
Using the git-svn client with a Subversion server. Specifically for existing SVN users, how Git is a better Subversion client than Subversion.
Ready to move your project from Subversion? A few ways to do the migration, from hosted services to really custom methods.
Using Git and GitHub from Textmate using the TM Git bundle.
Deploying Git projects using the Capistrano deployment tool, including how to deploy from GitHub.