Git Time Machine

A visual Git history explorer tool with real-time commit comparison capabilities.
Description
Issues / PRs
Team Members

Git Time Machine

Overview

Git Time Machine is an innovative, open-source tool designed to provide developers with an elegant and visually rich exploration of Git repository histories. Created for FOSS Hack 2025 under the auspices of FOSS United, this project combines a modern user interface with powerful Git integration to enhance debugging, collaboration, and historical code analysis. Whether you're auditing changes, resolving merge conflicts, or simply seeking to understand a project's evolution, Git Time Machine offers a seamless and intuitive experience. Built in the spirit of free and open-source software, it empowers developers to "travel through time" in their codebase with ease and precision.


Key Features

Core Functionality

  1. Interactive Branch Navigation

  • A visually appealing branch list with distinct color coding for easy identification.

  • Support for both local and remote branches, allowing users to explore the full scope of a repository.

  • Quick branch switching and real-time tracking of branch updates.

  1. Rich Commit History

  • A stunning timeline visualization that maps out the project’s commit history.

  • Emoji support for conventional commit messages (e.g., ✨ for features, 🐛 for bug fixes), adding clarity and personality.

  • Integration with GitHub profiles to display author avatars alongside commits.

  • Comprehensive commit metadata, including author names, dates, and commit hashes.

  1. Advanced Diff Viewer

  • Side-by-side comparison of commits for a clear view of changes.

  • Syntax-highlighted code diffs to make modifications stand out.

  • File status indicators distinguishing between Added (A), Modified (M), and Deleted (D) files.

  • Collapsible diff sections organized by file for focused analysis.

  • Line number tracking across both versions of the code.

  • Detection and handling of binary files to ensure compatibility.

4. User Interface

  • A sleek, modern design inspired by glass-morphism aesthetics.

  • Fully responsive layout, optimized for desktops, tablets, and mobile devices.

  • Smooth animations and transitions to enhance the user experience.

  • Toast notifications providing instant feedback on user actions.

  • A collapsible comparison panel to maximize screen real estate.


Technical Features

  1. Git Integration

  • Full compatibility with Git repositories, supporting local and remote operations.

  • Synchronization with remote repositories for up-to-date history.

  • Branch checkout functionality directly within the tool.

  • Robust parsing of commit history for accurate representation.

  1. Performance Optimizations

  • Lazy loading of commit data to reduce initial load times.

  • Efficient diff parsing and rendering for smooth operation even with large repositories.

  • Optimized avatar loading with fallback options for unavailable images.

  • Lightweight design to maintain a minimal memory footprint.


Technology Stack

  • Git: For repository interaction and history parsing.

  • JavaScript: For the core logic and UI rendering.

  • HTML/CSS: For the responsive, glass-morphism-inspired design.

  • CLI: Commander for npm CLI

  • Server: Express backend server


Installation

Getting started with Git Time Machine is straightforward:

  1. Install the tool globally via npm:

npm install -g git-tm
  1. Ensure you have Node.js and npm installed on your system.

Usage

  1. Open a Project

Clone a Git repository or navigate to an existing project directory with a valid Git history.

  1. Launch the Tool

  • Run the following command in the terminal from the project directory:

  git-tm

This starts the Git Time Machine server and automatically opens the web interface in your default browser.

  1. Explore and Analyze

  • Browse the commit history using the interactive timeline.

  • Select two commits to compare changes in the advanced diff viewer.

  • Examine commit metadata and file differences with ease.

  • Switch between branches and track real-time updates.

  • Enjoy a fluid, visually appealing Git exploration experience.

No Issues, PRs or Discussions added.
Nandhu Krishnan A
Nandhu Krishnan A
nandhu_krishnan_a
Pruthvikanth AC
Pruthvikanth AC
itstatsuya
Alvin Dennis
Alvin Dennis
alvin_dennis
Revathy
Revathy
revathy