git

Configuration

.gitconfig

From my .gitconfig

  • Includes typos.

.gitconfig
[color]
  diff = auto
  status = auto
  branch = auto
  ui = true
[alias]
  ci = commit
  cloen = clone
  co = checkout
  chekcout = checkout
  dif = diff
  l = log
  l1 = log -n1 -p
  ll = log -p
  stauts = status

Bash

Version

Include branch in shell.

Pros:

  • You always know which branch is being worked on.

Aliases

From my .bash_profile

Commands

Compare diff with another branch, good for flattening:

Display file changes between revisions:

Which tags include a particular commit:

Delete remote branch

Before Pushing

Squash branches as much as possible

Best Practices

Cons

  • No equivalent of hg copy

--fixup

GitHub

See GitHub

GitLab

  • Alot more tools.

    • Time Tracking, Milestones, Weight

Pros

  • Merge Requests

    • You can work on the commit message before merginging.

Cons

  • UI is sparse

Vim

Install vim-fugitive

Inside vim:

In command mode, will open a browser pointing to the file in GitHub

This works when lines are highlighted as well.

Resources

Browsers

IDEs

Last updated

Was this helpful?