Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nickolasburr/git-follow

Follow lifetime changes of a pathspec in Git.
https://github.com/nickolasburr/git-follow

diff git git-diff git-log patch stat

Last synced: 3 months ago
JSON representation

Follow lifetime changes of a pathspec in Git.

Awesome Lists containing this project

README

        

git-follow(1)
=============

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

.. contents::
:local:

Installation
------------

You can install ``git-follow`` via Homebrew or manually.

Homebrew
^^^^^^^^

.. code-block:: sh

brew tap nickolasburr/pfa
brew install git-follow

Manual
^^^^^^

.. code-block:: sh

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 elsewhere by passing ``PREFIX`` to ``make install``.

.. code-block:: sh

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

Configuration
-------------

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

.. raw:: html





Configuration
Description
Settings
Default






follow.diff.mode




Diff mode to use with git-diff(1), git-log(1), git-show(1), etc.


See --word-diff of git-log(1).




inline


sxs


colorsxs




inline






follow.log.format




Log format to use with git-log(1).


See --format of git-log(1) for syntax.




-




-






follow.pager.disable




Disable pager used with git-diff(1), git-log(1), git-show(1), etc.


See --no-pager of git(1).




true


false




false





Options
-------

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

.. raw:: html







-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 X[,Y]




Show commits for lines X through Y.


Omit Y 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 frequency of STRING in revision history.


See -S of git-log(1).






-r, --range X[,Y]




Show commits in range X through Y.


Omit Y 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 tag TAG.






-T, --total




Show total number of commits for pathspec.






-h, --help, --usage




Show usage information.






-V, --version




Show current version number.





Notes
-----

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

Examples
--------

Display commits on branch *topic* which affected *blame.c*

.. code-block:: sh

git follow --branch topic -- blame.c

Display first commit where Git initiated tracking of *branch.c*

.. code-block:: sh

git follow --first -- branch.c

Display last *5* commits which affected *column.c*

.. code-block:: sh

git follow --last 5 -- column.c

Display last commit where lines *5-* were affected in *diff.c*

.. code-block:: sh

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

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

.. code-block:: sh

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

Display commits where function *funcname* was affected in *archive.c*

.. code-block:: sh

git follow --func funcname -- archive.c

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

.. code-block:: sh

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*

.. code-block:: sh

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

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

.. code-block:: sh

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

Display total number of commits which affected *rebase.c*

.. code-block:: sh

git follow --total -- rebase.c

See Also
--------

* `git(1) `_
* `gitrevisions(1) `_
* `git-branch(1) `_
* `git-check-ref-format(1) `_
* `git-config(1) `_
* `git-diff(1) `_
* `git-log(1) `_
* `git-remote(1) `_
* `git-tag(1) `_