Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/nickolasburr/git-follow
- Owner: nickolasburr
- License: mit
- Created: 2017-02-25T03:45:28.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-06-20T22:32:33.000Z (over 1 year ago)
- Last Synced: 2024-04-17T04:48:29.253Z (7 months ago)
- Topics: diff, git, git-diff, git-log, patch, stat
- Language: Perl
- Homepage:
- Size: 334 KB
- Stars: 30
- Watchers: 5
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
- awesome-git - git-follow - a tool for following lifetime changes of a file throughout the history of a Git repository. (Tools / Comparing workflows)
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-followManual
^^^^^^.. code-block:: sh
git clone https://github.com/nickolasburr/git-follow.git
cd git-follow
make
make installBy 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.
inline
sxs
colorsxs
inline
follow.log.format
Log format to use with git-log(1).
-
-
follow.pager.disable
Disable pager used with git-diff(1), git-log(1), git-show(1), etc.
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.
-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.
-N, --no-patch
Suppress diff output.
-O, --no-renames
Disable rename detection.
-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.
-r, --range X[,Y]
Show commits in range X through Y.
Omit Y defaults to HEAD.
-R, --reverse
Show commits in reverse chronological order.
-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) `_