Introduction to Git for Development

From Railway Operation Simulator Wiki
Jump to navigation Jump to search

Git is a free and open source version control software which is used for projects under the Railway-Op-Sim GitHub Organisation. When developing code or raw text based projects version control provides an essential means of storing, iteratively, changes made to files allowing the user to restore a project to a previous state should the need arise to reset it. Git also allows multiple developers to work on the same project simultaneously without risk of changes clashing. A project using Git for version control is called a repository.

Git logo

Developing with Git

There are two main ways to interact with Git, using a Graphical User Interface (GUI) based application such as GitHub Desktop, or the command line interface (CLI).

Development with GitHub Desktop

For those less familiar with using the command line, GitHub provides an application for interacting with repositories hosted on their service. The software is available here.

Installing Git CLI

Git for Windows is available to download on the software website.

When installing the software it is recommended that the Use MinTTY (the default terminal of MSYS2) option be selected as this provides a Unix BASH style terminal which is easier to use compared to the default cmd.exe application. After installation the Git Bash application is available within the start menu.

Introduction to Git CLI

All Git commands within this section must be run from within the project directory/repository.

Setting up Git in a project directory

When setting up a Git project make sure you are in the root (top level) directory for your project and run the following command:

git init

this initialises the repository and adds a hidden .git directory which will contain the archived project versions.

There is no requirement for a remote server, Git can be used completely offline. However if you plan on pushing your project to GitHub you can create a repository on your account first then clone this locally using:

git clone <repository-clone-url>

with this option you won't need to set a remote address later on. Details on creating a remote repository can be found below.

Setting a Remote Address

In order to be able to upload your project onto GitHub you need to firstly create a remote repository and then copy the clone URL. There are two options, either cloning using HTTPS which will require you set up a temporary access key, or SSH which requires setting up a more permanent SSH key, these are outlined here:


To add the URL as the remote repository for your local project run:

git remote add origin <copied-url>

Creating a RailOS Project with Git