GitLab Documentation

Getting Started

Getting Started

Instantiating Repositories

  • Create a new repository by instantiating it through bash git init
  • Copy an existing project by cloning the repository through bash 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 bash git init --bare project-name.git

Instantiate workflow with clone

  1. Create a project in your user namespace
  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