Git GUIs and practical usage

Outline

Introduction

Git GUIs

git gui and gitk

gitk: Viewing history

Basic concepts of git gui

git gui: Checking current status (git status/diff)

git-gui-basic.png

The staging area (index)

git gui: Committing changes (git add/commit)

git-gui-basic-labeled.png

git gui: Pushing and pulling (git push/pull)

git-gui-fetch.png git-gui-merge.png

Exercise 1.1: Basic usage

Exercise 1.2: Explore git gui

Exercise 1.3: Explore pulling with git gui

Conflicts

Conflict reduction strategies

Anatomy of a conflict

git-gui-conflict.png

Graphical merge tools

meld.png

Exercise 2.1: Merging conflict

Exercise 2.2: Resolving the conflict

Other tips

LaTeX files

Latexdiff

How to structure a join project?

Using gitlab

Tagging important versions

Uses of git checkout

Checking out old versions of files

Any other questions/comments?

Exercise 3.1: groupwork