Skip to main content

ghit

Project description

ghit Command Line Utility

:warning: Work in progress.

Features

  • Stack display with ghit ls or ghit -v ls shows:
    • the branch tree
    • the relation to the base branch state
    • the PR state, if any
    • the unresolved PR comments, if any
  • Stack navigation (checkout):
    • ghit up, ghit down, ghit top, ghit bottom
  • Stack initialization with ghit init:
    • creates .ghit/stack with the current branch as the main branch
    • adds .ghit/.gitignore
  • Stack manipulation: ghit branch create <name>:
    • create and switch to the new branch
    • add the branch name to .ghit/stack
  • Stack or branch publication with ghit stack submit or ghit branch submit:
    • pushes branch(es) upstream with no force, so may fail after rebase
    • creates or updates GitHub PR(s)
    • creates or updates dependencies comment(s)
  • Check stack with ghit stack check:
    • branches in a stack sit on the heads of their parents
    • suggests rebase commands
    • suggests to delete local branches if there are merged or closed PRs

Installation

python3 -m pip install ghit-smartptr

Example Flow

localhost:my-git-repo (main)$ ghit init
localhost:my-git-repo (main)$ cat .ghit/stack 
main
localhost:my-git-repo (main)$ ghit branch create new-feature
Checked-out new-feature.
The branch doesn't have an upstream.
localhost:my-git-repo (new-feature)$ cat .ghit/stack 
main
.new-feature
localhost:my-git-repo (new-feature)$ git add .
localhost:my-git-repo (new-feature)$ git commit
localhost:my-git-repo (new-feature)$ ghit ls
  main
⯈ └─ new-feature *
localhost:my-git-repo (new-feature)$ ghit stack submit
Pushed new-feature to remote git@github.com:me/my-git-repo.git.
Set upstream to origin/new-feature.
Created PR #73 (OPEN).
localhost:my-git-repo (new-feature)$ ghit ls
  main
⯈ └─ new-feature #73 (OPEN)✓ new-feature
localhost:my-git-repo (new-feature)$ ghit top
Checked-out main.
localhost:my-git-repo (main)$ ghit ls
⯈ main
  └─ new-feature #73 (OPEN)✓ new-feature

Project details


Download files

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

Source Distribution

ghit_smartptr-0.1.5.tar.gz (20.4 kB view details)

Uploaded Source

Built Distribution

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

ghit_smartptr-0.1.5-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file ghit_smartptr-0.1.5.tar.gz.

File metadata

  • Download URL: ghit_smartptr-0.1.5.tar.gz
  • Upload date:
  • Size: 20.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for ghit_smartptr-0.1.5.tar.gz
Algorithm Hash digest
SHA256 9e3dac92913affe64765037108efe415a2dbfea413e4df61e4a4988e7b5a7f96
MD5 4e2f72caa006d4082f9c9629c51ea135
BLAKE2b-256 109682351ce2816d35f33edd7ee0e9a9bb14bfe87429d806dfb43f1c60fc70c0

See more details on using hashes here.

File details

Details for the file ghit_smartptr-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: ghit_smartptr-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for ghit_smartptr-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a919aa1daaf7ddd9b49d7ef5d6133dca686e53c6e8deaa25d9baa2266d0b24fd
MD5 c8b59f2f95fdb1f32e51a7d4ae864ea1
BLAKE2b-256 62e2095c95a6c25feb20dd4fb60c3136712a2a61d3ac8ab7714dc9babe4d6643

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page