# Git and Github
At Appcelerator we use Git (opens new window) as our version control system. In addition, many of our open source projects, including the core SDKs, are hosted on Github (opens new window). For this reason, if you plan on contributing to Titanium, it's critical that you understand at least the basics of how Git and Github work.
The following sections give some references and tips for getting started with Git & Github. With this knowledge you'll better understand how Appcelerator manages out many open source projects. Also, you'll have the opportunity to start integrating this powerful version control system into your own workflow.
# Learning Git and Github
# Getting Started with Git
Git can be a little daunting if you've never used it before, but most people soon learn to love it. The following resources will help you to get started:
Michael Marner's Git Tutorial (opens new window) (video)
Linus Torvalds' Git Tech Talk (opens new window) (video)
git helpcommand and the Git online manual (opens new window)
Github Git Reference (opens new window) (manual)
the Freenode IRC server's #git channel
# Git Prerequisites
Before you start, you will need to work through these points:
- configure SSH, required for pushing branches to Github. See "Generating SSH Keys" for Mac OS X (opens new window) and Windows (opens new window).
# Some Quick Git Tips
The following can make Git a little easier to use:
use gitk (opens new window) to give a visual representation of your repository
by default, if a file's permissions change, Git will perceive it just the same as if its contents were changed, Thus, to ignore permissions changes, run:
git config core.filemode false
# Committing Code with Git in 7 Easy Stages
The following diagram describes the full development cycle used to contribute code or documentation to an Appcelerator repository, using Git and Github.
Download a hi-res version here.