premchandrasingh / git-branch-status

A BASH script that prints out pretty git branch sync status reports

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

git-branch-status

A BASH script that prints out pretty git branch sync status reports

git-branch-status screenshot

USAGE:

  git-branch-status
  git-branch-status [-a | --all]
  git-branch-status [-b | --branch] [branch-name]
  git-branch-status [-d | --dates]
  git-branch-status [-h | --help]
  git-branch-status [-r | --remotes]
  git-branch-status [-v | --verbose]

EXAMPLES:

  # show only branches for which upstream HEAD differs from local
  $ git-branch-status
    | collab-branch  | (behind 1) | (ahead 2) | origin/collab-branch  |
    | feature-branch | (even)     | (ahead 2) | origin/feature-branch |
    | master         | (behind 1) | (even)    | origin/master         |

  # show all branches - even those with no upstream or no local and those up-to-date
  $ git-branch-status -a
  $ git-branch-status --all
    | master         | (even)     | (ahead 1) | origin/master             |
    | tracked-branch | (even)     | (even)    | origin/tracked-branch     |
    | (no local)     | n/a        | n/a       | origin/untracked-branch   |
    | local-branch   | n/a        | n/a       | (no upstream)             |
    | master         | (behind 1) | (ahead 1) | a-remote/master           |
    | (no local)     | n/a        | n/a       | a-remote/untracked-branch |

  # show the current branch
  $ git-branch-status -b
  $ git-branch-status --branch
    | current-branch | (even) | (ahead 2) | origin/current-branch |

  # show a specific branch
  $ git-branch-status          specific-branch
  $ git-branch-status -b       specific-branch
  $ git-branch-status --branch specific-branch
    | specific-branch | (even) | (ahead 2) | origin/specific-branch |

  # show the timestamp of each HEAD
  $ git-branch-status -d
  $ git-branch-status --dates
    | 1999-12-31 master | (behind 2) | (even) | 2000-01-01 origin/master |

  # print this usage message
  $ git-branch-status -h
  $ git-branch-status --help
      "prints this usage message"

  # show all remote branches - even those with no local
  $ git-branch-status -r
  $ git-branch-status --remotes
    | master         | (behind 1) | (even) | a-remote/master           |
    | (no local)     | n/a        | n/a    | a-remote/untracked-branch |

  # show all branches with timestamps (like -a -d)
  $ git-branch-status -v
  $ git-branch-status --verbose
    | 1999-12-31 local   | n/a        | n/a    | (no upstream)             |
    | 1999-12-31 master  | (behind 1) | (even) | 2000-01-01 origin/master  |
    | 1999-12-31 tracked | (even)     | (even) | 2000-01-01 origin/tracked |

NOTE: please direct comments, bug reports, feature requests, or PRs to the upstream repo: https://github.com/bill-auger/git-branch-status/issues/

About

A BASH script that prints out pretty git branch sync status reports

License:GNU General Public License v3.0


Languages

Language:Shell 100.0%