Convert Figma logo to code with AI

Fakerr logogit-recall

An interactive way to peruse your git history from the terminal

2,118
47
2,118
7

Top Related Projects

Recall what you or your team did on the last working day

See your latest local git branches, formatted real fancy

GIT utilities -- repo summary, repl, changelog population, author commit percentages and more

A Git platform powered by Scala with easy installation, high extensibility & GitHub API compatibility

62,551

simple terminal UI for git commands

Quick Overview

Git-recall is a command-line tool that allows users to easily navigate and visualize their git history. It provides an interactive interface to browse through commits, view changes, and recall specific moments in a project's timeline. This tool is particularly useful for developers who want a quick and efficient way to review their git history without leaving the terminal.

Pros

  • Intuitive and interactive command-line interface
  • Customizable output format and color schemes
  • Supports filtering commits by author and date range
  • Lightweight and easy to install

Cons

  • Limited to command-line use, may not appeal to users who prefer graphical interfaces
  • Requires some familiarity with git commands and concepts
  • May have performance issues with very large repositories
  • Limited advanced features compared to some full-featured git GUI clients

Getting Started

To install git-recall, run the following command:

npm install -g git-recall

To use git-recall, navigate to your git repository and run:

git recall

You can customize the output by using various options:

git recall -d 5 -a "John Doe" # Show last 5 days of commits by John Doe
git recall -f # Show full commit messages
git recall -b # Show branch names

For more options and usage information, refer to the project's README on GitHub.

Competitor Comparisons

Recall what you or your team did on the last working day

Pros of git-standup

  • Provides a more detailed output, including commit messages and file changes
  • Offers more customization options, such as specifying date ranges and authors
  • Supports multiple repositories in a single command

Cons of git-standup

  • Requires more setup and configuration compared to git-recall
  • May be overwhelming for users who prefer a simpler, more concise output
  • Has a steeper learning curve due to its additional features

Code comparison

git-standup:

git standup -d 7 -a "John Doe"

git-recall:

git recall -d 7 -a "John Doe"

Both tools use similar command-line syntax, but git-standup offers more advanced options for customization. While git-recall focuses on providing a quick overview of recent activity, git-standup allows for more detailed analysis and reporting across multiple repositories.

See your latest local git branches, formatted real fancy

Pros of git-recent

  • Simpler and more focused functionality, specifically for listing recent branches
  • Lightweight implementation using a single shell script
  • Easy to understand and modify for custom needs

Cons of git-recent

  • Limited features compared to git-recall's comprehensive commit history visualization
  • Lacks the ability to show commit details or navigate through commit history
  • No interactive mode or advanced filtering options

Code Comparison

git-recent:

git for-each-ref --count=$count --sort=-committerdate refs/heads/ --format='%(refname:short)|%(committerdate:relative)|%(authorname)'

git-recall:

def get_commits
  `git log --pretty=format:"%h|%s|%an|%ar" --author="#{@author}" --since="#{@since}"`
end

git-recent focuses on listing recent branches, while git-recall retrieves commit history with more detailed information. git-recent uses a single Git command, whereas git-recall employs Ruby to process and display commit data.

Both tools serve different purposes: git-recent for quick branch overview and git-recall for detailed commit history exploration. Users should choose based on their specific needs for Git workflow management.

GIT utilities -- repo summary, repl, changelog population, author commit percentages and more

Pros of git-extras

  • Offers a wide range of additional Git commands and utilities
  • Provides functionality for repository summary, project info, and branch management
  • Includes tools for improved commit and changelog management

Cons of git-extras

  • May have a steeper learning curve due to the large number of new commands
  • Some features might overlap with existing Git functionality or other tools
  • Requires installation and setup, which could be a barrier for some users

Code Comparison

git-recall:

git recall
git recall --since '1 week ago'
git recall --author 'John Doe'

git-extras:

git summary
git effort --above 5
git changelog
git undo
git info

Key Differences

  • git-recall focuses specifically on visualizing and recalling Git history
  • git-extras provides a broader set of Git utilities and enhancements
  • git-recall offers a simpler, more focused approach to reviewing commit history
  • git-extras includes features for repository management, branching, and project information

Use Cases

git-recall is ideal for:

  • Quick visual review of recent commit history
  • Filtering commits by author or date range

git-extras is suitable for:

  • Enhancing Git workflow with additional commands
  • Generating project summaries and changelogs
  • Managing branches and repository information

A Git platform powered by Scala with easy installation, high extensibility & GitHub API compatibility

Pros of GitBucket

  • Full-featured Git repository management system with a web interface
  • Supports project management features like issues, pull requests, and wikis
  • Scalable and can be used for both small teams and large organizations

Cons of GitBucket

  • More complex setup and maintenance compared to lightweight tools
  • Requires more system resources to run
  • Steeper learning curve for users unfamiliar with Git hosting platforms

Code Comparison

GitBucket (Scala):

get("/api/v3/repos/:owner/:repository/commits")(referrersOnly { repository =>
  val owner = params("owner")
  val name = params("repository")
  // ... (additional code)
})

git-recall (Shell):

function git_recall {
  git log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short "$@" |
    sed -E 's/[0-9a-f]{7}/\\033[1;33m&\\033[0m/' |
    less -R
}

While GitBucket provides a comprehensive Git management solution with a web interface, git-recall is a simple command-line tool for visualizing Git history. GitBucket offers more features but requires more resources, while git-recall is lightweight and focused on a single task.

62,551

simple terminal UI for git commands

Pros of lazygit

  • More feature-rich and interactive UI, offering a comprehensive Git management experience
  • Actively maintained with frequent updates and improvements
  • Supports multiple platforms (Linux, macOS, Windows)

Cons of lazygit

  • Steeper learning curve due to its extensive features
  • Requires terminal with mouse support for optimal usage
  • Larger installation size and more dependencies

Code comparison

git-recall:

git recall

lazygit:

lazygit

Both tools are command-line interfaces for Git, but they serve different purposes. git-recall is a simple script that shows a list of recent commits with their authors, while lazygit is a full-featured terminal UI for Git operations.

git-recall focuses on quickly viewing recent commit history, making it lightweight and easy to use for specific tasks. lazygit, on the other hand, provides a comprehensive interface for managing Git repositories, including staging, committing, branching, and more.

The choice between these tools depends on the user's needs. git-recall is ideal for quickly recalling recent changes, while lazygit is better suited for users who want a more powerful, interactive Git management experience within the terminal.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

git-recall

Simple and handy tool to easily recall what you've done

git recall

Purpose

git-recall is a simple tool that allows you to easily go through your commits and check what you or other contributors in your team did. It doesn't aim to be a replacement for the git log command, but just to be a convenient way to recall what you've done from your terminal.

Usage

$ git recall   [-a <author name>]
               [-d <days-ago>]
               [-b <branch name>]
               [-p <paths>]
               [-f]
               [-h]
               [-v]
Options description:
  • -a - Restrict search for a specific user (use -a "all" for all users)
  • -d - Display commits for the last n days
  • -b - Specify branch to display commits from
  • -p - Specify path/s or file/s to display commits from
  • -f - Fetch the latest changes
  • -h - Show help screen
  • -v - Show version
How to use:

Once the commits are displayed, you can use either the arrow keys or j/k to switch between commits, press TAB or e to expand/reduce the commit's diff or q to quit.

Limitations:

when the number of lines between the commits list and a commit's diff is higher than the current terminal session's number of lines, the result will be displayed using the less program which will open the diff in a separate screen. You can still use either TAB or q to return to the commits list.

Examples

$ git recall
# By default (without options), the command will display commits from yesterday and
# for the current user.
$ git recall -d 5 -a "Doge"
# The command will show all Doge's commits from 5 days ago.

$ git recall -d 5 -a "all"
# The command will show commits of all contributors from 5 days ago.
$ git recall -f
# Fetch commits beforehand.

Installation

Without using tools

You can install it by simply copying the git-recall script into any existing path (e.g. /usr/local/bin) or create your own directory and add it to the PATH variable.

Make sure to run chmod +x /usr/local/bin/git-recall or the directory in which you copied it to.

Using NPM

Use npm to install the project.

npm install --global git-recall
Manual install

Clone the project and install it using make install.

$ git clone https://github.com/Fakerr/git-recall.git
$ cd git-recall
$ sudo make install

Requirements

  • OS: Linux or OSX
  • Bash 4.3 or more
  • Tools: git, less, sed
Optional Requirements
  • For a better UX, it's recommended to have installed the lesskey program.

Contribution

Pull requests are welcome, along with any feedback or ideas.

License

MIT