Skip to content

nickolasburr/git-follow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

git-follow(1)

git-follow follows lifetime changes of a pathspec in Git, providing a simplified log and diff.

You can install git-follow via Homebrew or manually.

brew tap nickolasburr/pfa brew install git-follow
git clone https://github.com/nickolasburr/git-follow.git cd git-follow make make install

By default, files are installed to /usr/local. You can install to an alternate location by passing PREFIX to make install.

make install PREFIX="$HOME/.usr/local"

git-config(1) settings can be used to customize the behavior of git-follow.

follow.diff.mode  Diff mode. Options are inline (default), sxs, and colorsxs.  See --word-diff of git-log(1).
follow.log.format  Log format.  See --format of git-log(1) for syntax.
follow.pager.disable  Disable pager. Options are true or false. Defaults to false.  See --no-pager of git(1).

Options can be specified to provide more refined information. If no options are given, all applicable commits will be shown.

-b, --branch <BRANCH> Show commits for <BRANCH>
-f, --first Show first commit where Git initiated tracking of pathspec.
-F, --func <FUNCNAME> Show commits for function <FUNCNAME>. See -L of git-log(1).
-l, --last <COUNT> Show last <COUNT> commits for pathspec. Omit <COUNT> defaults to last commit.
-L, --lines <START>[,<END>] Show commits for lines <START>-<END>. Omit <END> defaults to EOF
-M, --no-merges Show commits which have a maximum of one parent. See --no-merges of git-log(1).
-N, --no-patch Suppress diff output. See --no-patch of git-log(1).
-O, --no-renames Disable rename detection. See --no-renames of git-log(1).
-p, --pager Force pager when invoking git-log(1). Overrides follow.pager.disable config value.
-P, --pickaxe <STRING> Show commits which change the # of occurrences of <STRING> See -S of git-log(1).
-r, --range <START>[,<END>] Show commits in range <START>-<END>. Omit <END> defaults to HEAD.
-R, --reverse Show commits in reverse chronological order. See --walk-reflogs of git-log(1).
-t, --tag <TAG> Show commits specific to a tag.
-T, --total Show total number of commits for pathspec.
-h, --help, --usage Show usage information.
-V, --version Show current version number.

Like standard Git builtins, git-follow supports an optional pathspec delimiter -- to help disambiguate options, option arguments, and refs from pathspecs.

Display commits on branch topic which affected blame.c

git follow --branch topic -- blame.c

Display first commit where Git initiated tracking of branch.c

git follow --first -- branch.c

Display last 5 commits which affected column.c

git follow --last 5 -- column.c

Display last commit where lines 5-<EOF> were affected in diff.c

git follow --last --lines 5 -- diff.c

Display last 3 commits where lines 10-15 were affected in bisect.c

git follow --last 3 --lines 10,15 -- bisect.c

Display commits where function funcname was affected in archive.c

git follow --func funcname -- archive.c

Display commits in range from aa03428 to b354ef9 which affected worktree.c

git follow --range aa03428,b354ef9 -- worktree.c

Display commits in range from tag v1.5.3 to tag v1.5.4 which affected apply.c

git follow --range v1.5.3,v1.5.4 -- apply.c

Display commits up to tag v1.5.3 which affected graph.c

git follow --tag v1.5.3 -- graph.c

Display total number of commits which affected rebase.c

git follow --total -- rebase.c

About

Follow lifetime changes of a pathspec in Git.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published