Skip to content
Dimitri Bouniol edited this page Jan 7, 2020 · 4 revisions

Git for iOS Development

Welcome to the Lambda guide to using git for iOS development.

Before getting started, please be sure to follow the instructions in the main repo to ensure git is properly set up on your Mac. If you ever get a new Mac, please follow the same instructions as these settings will generally not carry over.

Guides

Each guide aims to illustrate how to achieve certain tasks in Git using Xcode, the GitHub Desktop app, or the Terminal.

  • Git Best Practices — Commit messages, and rules that all developers should follow
  • Git on GitHub — GitHub-specific features that make you more productive

Tools

Xcode

Xcode has fairly comprehensive git support, from showing which files have been edited, allowing you to commit and browse a file's history, to manipulating and cherry picking commits.

GitHub Desktop — Download

GitHub Desktop is a full featured git client that integrates well with GitHub, allowing you to choose individual lines to commit, prepare pull requests, or even rebase your branch interractively.

Terminal

Using the Terminal allows you full access to git's features, at the cost of increased complexity. Learn and get confortable with using git using a tool with a graphical user interface first if you aren't proficient with the Terminal yet!

TextMate — Download

As a basic text editor, TextMate is great when all you need is to quickly edit a file without opening Xcode. Additionally, it can be configured to be used when the more complex features of git requires it.

Contributors

If you are contributing to these guides, I encourage you to add your name below. Most recommendations have been made from my (Dimitri's) own experience and point of views, so if you encounter the first person in these guides, you'll now know who they are from. If in doubt, however, this wiki itself can be cloned locally, and any typical git authors tool should be able to show you who contributed to a particular line.

Clone this wiki locally