Table of Contents

Git

Overview

Merge

Rebase

Submodules

Hooks


Commands

Cloning

Status

Commit

Merge/Rebase

Some notes regarding Rebase:
  1. In most cases rebasing does not produce any problem (it is best practice).
  2. Interactive rebase (option -i) provides better control sometimes.
  3. A rebase changes all commit hashes (Git rewrites the commit history) - so do not rebase commits that you've pushed!
  4. Also regard the Golden Rules from Bitbucket.

Branches

Log

Tags

Diff

Prefer git format-patch / git am against git diff / git apply, because of it's better conflict resolution capabilities.

Patch

Repo

NOTES:
  1. Proper working of some commands can be ensured only in conjunction with my Git configuration (see section Files below).
  2. In particular i use Emacs for most development tasks, also in VC or Magit mode (see also the Git difftool script for Ediff).

Troubleshooting

This contradicts the idea of certificates and might be a security issue.

Files

1)
After a rebase this command prints the rebase point, not the original fork point.
2)
Conforming to Linux kernel submit guideline.
3)
There is no need for option --no-prefix if applied with git apply.
4)
Send as shallowed thread according to configuration option format.thread in file ~/.gitconfig.
5)
If after a rebase (or twiddling with refs) it seems that all commits were lost then use git reflog show in conjunction with git reset.