Getting Started

Instantiating Repositories

  • Create a new repository by instantiating it through

      git init
  • Copy an existing project by cloning the repository through

      git clone <url>

Central Repos

  • To instantiate a central repository a --bare flag is required.
  • Bare repositories don’t allow file editing or committing changes.
  • Create a bare repo with

      git init --bare project-name.git

Instantiate workflow with clone

  1. Create a project in your user namespace. - Choose to import from ‘Any Repo by URL’ and use
  2. Create a ‘Workspace’ directory in your home directory.
  3. Clone the ‘training-examples’ project.


mkdir ~/workspace
cd ~/workspace

git clone<username>/training-examples.git
cd training-examples

Git concepts

Untracked files

New files that Git has not been told to track previously.

Working area

Files that have been modified but are not committed.

Staging area

Modified files that have been marked to go in the next commit.

Committing Workflow

  1. Edit ‘edit_this_file.rb’ in ‘training-examples
  2. See it listed as a changed file (working area)
  3. View the differences
  4. Stage the file
  5. Commit
  6. Push the commit to the remote
  7. View the git log


# Edit `edit_this_file.rb`
git status
git diff
git add <file>
git commit -m 'My change'
git push origin master
git log


  • git fetch vs pull
  • Pull is git fetch + git merge