Skip to main content

navcom - Navigate Git Commits

A simple bash script to navigate through git repository commits chronologically, perfect for studying a codebase's evolution.

Demo

What It Does

  • Lets you step through commits in chronological order (oldest to newest)
  • Jump to first commit with first, navigate forward with next, or backward with prev
  • Automatically tracks your progress
  • Shows commit details at each step

Installation

MacOS/Linux

make install

This installs the script as navcom in /usr/local/bin.

Manual Installation

sudo cp bin /usr/local/bin/navcom
sudo chmod +x /usr/local/bin/navcom

Usage

Navigate to any git repository and run:

# Jump to first commit
navcom first

# Move to next commit (chronologically)
navcom next

# Move to previous commit
navcom prev

On first run, it will initialize by scanning the repository's commit history.

How It Works

  1. First Run: Creates a chronological list of all commits in the default branch
  2. Navigation: Checks out commits in order and tracks your position
  3. Progress: Stores tracking data in .git/nc-progress and .git/nc-commits

Reset Progress

To start over from the beginning:

rm .git/nc-progress .git/nc-commits

Uninstall

make uninstall

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

navcom_py-1.0.0.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

navcom_py-1.0.0-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page