Convert Figma logo to code with AI

kamranahmedse logogit-standup

Recall what you did on the last working day. Psst! or be nosy and find what someone else in your team did ;-)

7,745
314
7,745
23

Top Related Projects

A tool to monitor git repositories and automatically pull & push changes

Interactive roadmaps, guides and other educational content to help developers grow in their careers.

62,551

simple terminal UI for git commands

manage your git repositories in one place

21,631

Most commonly used git tips and tricks.

Quick Overview

Git-standup is a command-line tool that helps developers recall and report their daily stand-up activities. It provides a quick summary of Git commits made by a developer in the last working day, making it easier to prepare for daily stand-up meetings or to track personal progress.

Pros

  • Simplifies the process of recalling recent work for stand-up meetings
  • Supports multiple Git repositories in a single command
  • Customizable date range and author filtering
  • Lightweight and easy to install

Cons

  • Limited to Git repositories only
  • May not capture non-code related work or activities
  • Requires manual installation and setup
  • Does not integrate directly with project management tools

Getting Started

To install git-standup, you can use npm:

npm install -g git-standup

Alternatively, you can install it using Homebrew on macOS:

brew install git-standup

Once installed, navigate to your Git repository and run:

git standup

This will show you a summary of your commits from the last working day. You can customize the output using various options, such as:

git standup -d 5 -a "John Doe" -m 3

This command will show commits from the last 5 days, authored by John Doe, with a maximum of 3 commits per repository.

Competitor Comparisons

A tool to monitor git repositories and automatically pull & push changes

Pros of gitomatic

  • Supports multiple repositories and can monitor changes across all of them
  • Provides a web interface for viewing repository status and changes
  • Offers automatic commit and push functionality for tracked repositories

Cons of gitomatic

  • More complex setup and configuration compared to git-standup
  • Requires running as a service, which may not be suitable for all use cases
  • Less focused on daily standup reporting, more geared towards continuous monitoring

Code Comparison

git-standup:

git log --since="$since" --author="$author" --pretty=format:"$pretty_format"

gitomatic:

if err := repo.Pull(); err != nil {
    log.Printf("Failed to pull repository %s: %v", repo.Path, err)
}

git-standup focuses on generating a simple log of recent commits, while gitomatic includes more complex operations like pulling repositories and monitoring for changes.

Summary

git-standup is a lightweight tool specifically designed for generating daily standup reports, while gitomatic is a more comprehensive solution for monitoring and automating git operations across multiple repositories. The choice between the two depends on the specific needs of the user or team, with git-standup being simpler and more focused, and gitomatic offering broader functionality at the cost of increased complexity.

Interactive roadmaps, guides and other educational content to help developers grow in their careers.

Pros of developer-roadmap

  • Comprehensive guide for developers at various skill levels
  • Regularly updated with new technologies and industry trends
  • Visual roadmaps make it easy to understand learning paths

Cons of developer-roadmap

  • Larger project scope, potentially overwhelming for beginners
  • Less focused on a specific tool or workflow
  • Requires more frequent updates to stay relevant

Code comparison

While a direct code comparison isn't relevant due to the different nature of these projects, we can look at how they're structured:

developer-roadmap:

- name: "Frontend"
  description: "Frontend Development Roadmap"
  items:
    - name: "Internet"
      description: "How does the internet work?"
    - name: "HTML"
      description: "Learn the basics of HTML"

git-standup:

#!/usr/bin/env node

const gitStandup = require('./lib/git-standup');
const argv = require('yargs').argv;

gitStandup(argv);

developer-roadmap is structured as a content-heavy project with roadmaps defined in YAML, while git-standup is a Node.js command-line tool with a simpler structure.

62,551

simple terminal UI for git commands

Pros of lazygit

  • Offers a full-featured terminal UI for Git operations
  • Provides interactive staging, committing, and branch management
  • Supports more advanced Git features like interactive rebasing and stashing

Cons of lazygit

  • Steeper learning curve due to more complex interface
  • Requires more system resources as a full TUI application
  • May be overkill for simple Git workflows

Code comparison

git-standup:

#!/usr/bin/env bash
# Simple script to get standup updates for the past day
git log --all --since=yesterday --oneline --no-merges --author="$(git config user.name)"

lazygit:

// Main function to start the application
func main() {
    app := app.NewApp(config.AppConfig)
    app.Run()
}

Summary

git-standup is a lightweight bash script focused on generating standup reports, while lazygit is a comprehensive Git TUI client. git-standup excels in simplicity and ease of use for quick updates, whereas lazygit offers a more powerful interface for complex Git operations. The choice between them depends on the user's needs and workflow complexity.

manage your git repositories in one place

Pros of gitbatch

  • Provides a terminal user interface (TUI) for managing multiple Git repositories
  • Allows batch operations across multiple repositories
  • Offers more comprehensive Git management features beyond standup reports

Cons of gitbatch

  • More complex to use due to its broader feature set
  • Requires more system resources as it's a full-fledged TUI application
  • Less focused on the specific task of generating standup reports

Code Comparison

git-standup:

git log --since="$since" --author="$author" --pretty=format:"$pretty_format"

gitbatch:

func (r *Repository) Fetch(o *FetchOptions) error {
    return r.fetchAndCheckout(o)
}

While git-standup focuses on generating standup reports using Git log commands, gitbatch provides a more comprehensive set of Git operations through its Go implementation. The code snippets highlight this difference, with git-standup using a simple Git log command and gitbatch implementing more complex Git operations.

gitbatch offers a broader range of Git management features with its TUI, making it suitable for users who need to manage multiple repositories simultaneously. However, git-standup excels in its simplicity and focus on generating standup reports, making it more accessible for users specifically looking for this functionality.

21,631

Most commonly used git tips and tricks.

Pros of git-tips

  • Comprehensive collection of Git tips and tricks
  • Covers a wide range of Git commands and scenarios
  • Regularly updated with new tips and community contributions

Cons of git-tips

  • Lacks specific focus on daily standup reporting
  • May be overwhelming for beginners due to the large number of tips
  • No automated tool or script for generating reports

Code comparison

git-standup:

#!/usr/bin/env bash
git log --since yesterday --author $(git config user.email) --pretty=format:'%Cred%h%Creset - %s %Cgreen(%cr)' --abbrev-commit

git-tips:

# Show changes since yesterday
git log --since=yesterday --author=$(git config user.email) --oneline

While git-standup provides a ready-to-use script for generating standup reports, git-tips offers a similar command as one of many tips in its collection. The git-tips version is more concise but lacks the custom formatting of git-standup.

git-standup is focused on providing a specific tool for daily standup reporting, making it more suitable for teams using this practice. On the other hand, git-tips offers a broader range of Git knowledge and techniques, making it a valuable resource for Git users looking to improve their overall skills and understanding of the version control system.

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-standup

Recall what you did on the last working day ..or be nosy and find what someone else did.

A little tool that I always wanted for myself. I work on several repositories on daily basis and it is mostly difficult for me to remember where I left off in each one of them. git-standup helps me with running standups and keeping track of what I have been doing. By default it gives you the most common usage i.e. shows you commits from the last working day in the current directory and the directories below current level plus it comes with several options to modify how it behaves.

Requirements

The only requirement is having good commit messages :)

Install

You can install git-standup using one of the options listed below

SourceCommand
curlcurl -L https://raw.githubusercontent.com/kamranahmedse/git-standup/master/installer.sh | sudo sh
npmnpm install -g git-standup
brewbrew update && brew install git-standup
aurpacaur -S git-standup-git
manualClone and run make install

Usage

Simply run it in your project directory and it will give you the output from the last working day

git standup

If you run it in a folder containing multiple git repositories, it will go through each of the projects and give you the standup report for each one of them.

Options

You can pass several options to modify how git-standup behaves

git standup [-a <author name>]
            [-w <weekstart-weekend>]
            [-m <max-dir-depth>]
            [-F]
            [-b <branch-to-use>]
            [-d <since-days-ago>]
            [-u <until-days-ago>]
            [-D <date-format>]
            [-A <after-date>]
            [-B <before-date>]
            [-L]
            [-g]
            [-h]
            [-f]
            [-s]
            [-r]
            [-c]
            [-R]

Here is the detail for each of the options

OptionDescription
aSpecify author to restrict search to e.g. -a "Kamran Ahmed" or -a "all"
bSpecify branch to restrict search to (unset: all branches, "$remote/$branch" to include fetches)
wSpecify week start and end days e.g. in UAE weekdays are from Sunday to Thursday so you can do -w SUN-THU
mSpecify the depth of recursive directory search e.g. -m 3 defaults to two
FForce recursion up to specified depth even when git repository found earlier
dSpecify the number of days back to include e.g. -d 30 to get for a month
uSpecify the number of days back till which standup should run e.g. -u 3
LToggle inclusion of symbolic links in recursive directory search
DSpecify the date format for "git log" (default: relative) possible values
AShow the commits till after the given date
BShow the commits till before the given date
hDisplay the help screen
gShow if commit is GPG signed (G) or not (N)
fFetch the latest commits beforehand
sSilences the no activity message (useful when running in a directory having many repositories)
cShow diff-stat for every matched commit
rGenerates the standup report file git-standup-report.txt in the current directory
RDisplay the author date instead of the committer date

For the basic usage, all you have to do is run git standup in a repository or a folder containing multiple repositories

Single Repository Usage

To check all your personal commits from last working day, head to the project repository and run

$ git standup

git standup

Multiple Repository Usage

Open a directory having multiple repositories and run

$ git standup

git standup

This will show you all your commits since the last working day in all the repositories inside.

Directory depth

By default the script searches only in the current directory or one level deep. If you want to increase that, use the -m switch. If the base directory is a git repository you can use the -F switch to force the recursion.

$ git standup -m 3

Checking someone else's commits

If you want to find out someone else's commits do

# Considering their name on git is "John Doe"
$ git standup -a "John Doe"

Apart from restrict to commits from a certain user, you can also use -a flag to avoid certain users. You can do that if you enable perl regexp in your git installation git config --global grep.patternType perl, and use the author filter like below:

git standup -a'^(?!(renovate\[bot\]))'

git standup

Check what every contributor did

If you want to find out someone else's commits do

$ git standup -a "all"

Commits from n days ago

If you would like to show all your/someone else's commits from n days ago, you can do

# Show all my commits from 4 days ago
$ git standup -d 4

# Show all John Doe's commits from 5 days ago
$ git standup -a "John Doe" -d 5

git standup -d 5

Date filters

You can apply the filters on the commits shown. Use -A and -B flags to specify after and before dates

# Show all the commits after October 01, 2018
git standup -A "2018-10-01 00:00"
# Show all the commits till before October 01, 2018
git standup -B "2018-10-01 00:00"
# Show the commits between September 20 and September 30
git standup -A "2018-09-20 00:00:00" -B "2018-09-30 23:59"

Show Diff-stat

Add -c flag to show the diff-stat for each of the commits in standup results

git standup -c

Identifying Signed Commits

Add -g flag to check the GPG info

$ git standup -g

GPG Info

Specifying the date format

Add -D flag to specify the date format. Default is relative

Please note that it accepts the same format that you could pass while doing git log. For example

$ git standup -D relative
# Or instead of relative, it could be local|default|iso|iso-strict|rfc|short|raw etc

Branch Filter

Use of -b foobar option, which restricts returned results to commits present on branch foobar. Supports arbitrary branch specs, so for example -b origin/foobar would include data present on the remote that has not been merged locally.

# Use develop branch for standup
git standup -b develop

Directory whitelisting

If you want to restrict the standup to some paths, you can whitelist them by adding them to a .git-standup-whitelist file. For example if you have the below directory structure

├── Workspace              # All your projects are here
│   ├── project-a          # Some git repository called project-a
│   ├── project-b          # Some git repository called project-b
│   ├── sketch-files       # Some sketch files
│   ├── mockups            # Some balsamiq mockups
│   └── ...                # etc.
└── ...

And you want the git-standup to show logs for only project-a and project-b, you can do that by creating a .git-standup-whitelist file under the Workspace directory with the below contents and it will only consider these directories for the standup

project-a
project-b

Changing the Weekdays

By default, it considers that the work week starts on Monday and ends on Friday. So if you are running this on any day between Tuesday and Friday, it will show you your commits from the last day. However, if you are running this on Monday, it will show you all your commits since Friday.

If you want to change this, like I want because here in Dubai working days are normally Sunday to Thursday, you will have to do the following

$ git standup -w "SUN-THU"

Fetch commits before showing standup

If you have many repositories that you want to generate a standup for, it may be useful to automatically run git fetch before viewing the standup.

If you would like to automatically run git fetch --all before printing the standup, you can add the -f flag, as show below

$ git standup -f

Mixing options

Of course you can mix the options together but please note that if you provide the number of days, it will override the weekdays configuration (MON-FRI) and will show you the commits specifically from n days ago.

# Show all the John Doe's commits from 5 days ago
$ git standup -a "John Doe" -d 5

License

MIT © Kamran Ahmed

NPM DownloadsLast 30 Days