git-wtf(1)
==========

Name
----
git-wtf - understand the current state of your git repository

Synopsis
--------
git-wtf [branch+] [-l|--long] [-a|--all] [--dump-config]

Description
-----------

git-wtf is a tool for working with feature branches. If you're on a feature
branch, it tells you which version branches it's merged into. If you're on a
version branch, it tells you which feature branches are merged in and which
aren't. For every branch, if it's a tracking branch, it tells you which commits
need to be pulled and which need to be pushed.

Use immediately after git fetch.

git-wtf tries to ease the task of having many git branches. It's also useful
for getting a summary of how tracking branches relate to a remote server.

git-wtf shows you:

- How your branch relates to the remote repo, if it's a tracking branch.
- How your branch relates to non-feature ("version") branches, if it's a feature branch.
- How your branch relates to the feature branches, if it's a version branch.

For each of these relationships, git-wtf displays the commits pending on
either side, if any. It displays checkboxes along the side for easy scanning
of merged/non-merged branches.

If you're working against a remote repo, git-wtf is best used between a 'git
fetch' and a 'git merge' (or 'git pull' if you don't mind the redundant
network access).

Usage
-----

If [branch] is not specified, git-wtf will use the current branch.  With
--long, you'll see author info and date for each commit. With --all, you'll
see all commits, not just the first 5. With --dump-config, git-wtf will
print out its current configuration in YAML format and exit.

git-wtf uses some heuristics to determine which branches are version
branches, and which are feature branches. (Specifically, it assumes the
version branches are named "master", "next" and "edge".) If it guesses
incorrectly, you will have to create a .git-wtfrc file.

git-wtf looks for a .git-wtfrc file starting in the current directory, and
recursively up to the root. The config file is a YAML file that specifies
the version branches, any branches to ignore, and the max number of commits
to display when --all isn't used. To start building a configuration file,
run "git-wtf --dump-config > .git-wtfrc" and edit it.

IMPORTANT NOTE: all local branches referenced in .git-wtfrc must be prefixed
with heads/, e.g. "heads/master". Remote branches must be of the form
remotes/<remote>/<branch>.

Authors
-------

Author of git-wtf is William Morgan <wmorgan-git-wt-add@masanjin.net>.

This manpage was written by Michael Prokop <mika@grml.org>.
