To get started with the "real" engineering, you need very strong fundamentals. Our 300+ hours of prep work will take you from a complete beginner until you are ready to begin Viking's challenging core programs.

In just the prep, we cover almost as much ground as some bootcamps. Many other schools make you pay to prepare and that's silly—not only is our prep more comprehensive, but it is also 100% free.

Revisr allows you to manage your WordPress website with a Git repository. With Revisr, you can:

Track changes to your entire WordPress installation, or just the parts that you prefer
Commit changes from within the WordPress dashboard
Backup or restore your entire website in seconds
Set up daily or weekly automatic backups
Optionally push or pull changes to a remote repository, like Bitbucket or Github
Test changes out before deploying them to another server
Revert your website files and/or database to an earlier version
Quickly discard any unwanted changes

This book uses practical examples to explain version control with both centralized and decentralized systems. Topics covered include:

Basic version control commands and concepts
Introduction to Distributed Version Control Systems (DVCS)
Advanced branching workflows
Strengths and weaknesses of DVCS vs. centralized tools
Best practices
How distributed version control works under the hood
Featuring these open source version control tools:

Looking to learn some web development skills on your own? We love that. Our team has created these resources to guide you through a handful of computer programming topics. Whether you're learning this material for the first time or brushing up on your skills, we hope that you'll find these tutorials, screencasts and exercises useful.

git-time-machine is a package for Atom that allows you to travel back in time! It shows visual plot of commits to the current file over time and you can click on it on the timeplot or hover over the plot and see all of the commits for a time range.

Git is the most popular versioning control software and is essential for any developer's workflow. We'll discuss basic git commands, the GitHub interface, and how to host your website on GitHub pages for free (e.g. https://bhaumik.github.io).

First Aid Git started out as a dummy project while I was learning more on using Webpack with React. Halfway through it I thought about making something useful out of it, so I began to collect a few posts about the most frequently asked questions about git issues.

The motivation behind it was to have an easy and quick way to search through the most common git-related issues when they arise, as I find myself having dozens of Stackoverflow bookmarks scattered everywhere for these issues.

This is a terminal game designed to test your knowledge of git commands. Each level in the game is a task to perform on this repo. Once you perform that task, you will be given your next task. There are a total of ten levels, each one harder than last!

gitfs is a FUSE file system that fully integrates with git. You can mount a remote repository's branch locally, and any subsequent changes made to the files will be automatically committed to the remote.

Safely store secrets in a VCS repo (i.e. Git or Mercurial). These commands make it easy for you to GPG encrypt specific files in a repo so they are "encrypted at rest" in your repository. However, the scripts make it easy to decrypt them when you need to view or edit them, and decrypt them for for use in production. Originally written for Puppet, now works with any Git or Mercurial repository.

Project GITenberg is a Free and Open, Collaborative, Trackable and Scriptable digital library. It leverages the power of the Git version control system and the collaborative potential of Github to make books more open.

An offline enabled development environment that works directly on js-git databases
Tedit is a development environment built around the idea of editing git repositories directly as if they were the filesystem.

In this new development environment, the programmer never interacts with the file system or command-line. (State is stored locally using chrome storage and IndexedDB.)

Tedit is now MIT licensed and will always have a free option for people who can't afford (or aren't willing) to pay for it.

Current features include:

- Mounting local bare git repos (including repos with packed objects and refs).
- Mounting github repositories and editing them directly.
- Unified workspace as local git repository in app.
- Full virtual filesystem editing including files, symlinks, trees, submodules, executable bit. You can create, delete, rename, move, copy, even between different remote repositories.
- Create commits to snapshot the filesystem state and publish when mounted from github.
- Live export feature with declarative build system that allows building chrome apps on chromebooks.
- Local webserver with same build system for offline web app development.
- Full keyboard navigation of tree with typedown filtering.
- Quick toggling between recently opened files.

Tedit is self-hosting. I use it exclusively to develop and build itself.

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.

Got 15 minutes and want to learn Git?
Git allows groups of people to work on the same documents (often code) at the same time, and without stepping on each other's toes. It's a distributed version control system.

GitLab offers git repository management, code reviews, issue tracking, activity feeds and wiki’s. Enterprises install GitLab on-premise and connect it with LDAP and Active Directory servers for secure authentication and authorization. A single GitLab server can handle more than 25,000 users but it is also possible to create a high availability setup with a multiple active servers.

A collection of cool hidden and not so hidden features of Git and GitHub. This cheat sheet was inspired by Zach Holman's Git and GitHub Secrets talk at Aloha Ruby Conference 2012 (slides) and his More Git and GitHub Secrets talk at WDCNZ 2013 (slides).

GitX-dev is a fork (variant) of GitX, a long-defunct GUI for the git version-control system. It has been maintained and enhanced with productivity and friendliness oriented changes, with effort focused on making a first-class, maintainable tool for today's active developers.

git-crypt enables transparent encryption and decryption of files in a git repository. Files which you choose to protect are encrypted when committed, and decrypted when checked out. git-crypt lets you freely share a repository containing a mix of public and private content. git-crypt gracefully degrades, so developers without the secret key can still clone and commit to a repository with encrypted files. This lets you store your secret material (such as keys or passwords) in the same repository as your code, without requiring you to lock down your entire repository.

> Git is a version control Swiss army knife. A reliable versatile multipurpose revision control tool whose extraordinary flexibility makes it tricky to learn, let alone master.
>
> As Arthur C. Clarke observed, any sufficiently advanced technology is indistinguishable from magic. This is a great way to approach Git: newbies can ignore its inner workings and view Git as a gizmo that can amaze friends and infuriate enemies with its wondrous abilities.
>
> Rather than go into details, we provide rough instructions for particular effects. After repeated use, gradually you will understand how each trick works, and how to tailor the recipes for your needs.

While going open source might be a good choice, you'll also need to invest in the right community. GitHub is one of the best places to do this, not only because of the sheer amount of users who visit the site, but also because of the features that GitHub offers. If you find an open source app on GitHub, I'll show you a few things you can do with it, including viewing, editing, and forking the code.

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, so you can learn more about any of the commands. First, we'll start with thinking about source code management like Git does.

Pypush continuously monitors your local directory and immediately uploads any changes you make to your specified remote directory. You get the best of both worlds. You can also just make some changes locally, then periodically run pypush to synchronize all those changes to the remote directory.

What sets pypush apart is its real-time sync, and its integration with git. Any local files ignored by git will not be pushed to the remote machine (note that there is a different between untracked files and explicitly ignored files).

This tool provides a sysadmin-friendly command line interface to Amazon Glacier, turning Glacier into an easy-to-use storage backend. It automates tasks which would otherwise require a number of separate steps (job submission, polling for job completion and retrieving the results of jobs).

GitList allows you to browse repositories using your favorite browser, viewing files under different revisions, commit history and diffs. GitList is free and open source software, written in PHP, on top of Silex and the Twig template engine.