git-revise VS just

Compare git-revise vs just and see what are their differences.

git-revise

A handy tool for doing efficient in-memory commit rebases & fixups (by mystor)

just

🤖 Just a command runner (by casey)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
git-revise just
2 167
712 17,403
- -
0.0 9.0
20 days ago 5 days ago
Python Rust
MIT License Creative Commons Zero v1.0 Universal
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

git-revise

Posts with mentions or reviews of git-revise. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-07.
  • What are some of the programming tools you have built up?
    7 projects | /r/linux | 7 Oct 2022
    Two of my favorites are git-revise and Just.
  • Oh Shit, Git??
    5 projects | news.ycombinator.com | 25 Jun 2022
    I'm someone who has started enjoying rebasing workflow after using branch-merge workflow for more than a decade. So perhaps, my experience may be useful since you can compare the same person using both of them. The first thing to realize is that branch-merge and rebase workflows try to achieve different goals. Branch-merge tries to preserve history of the code, with every wart and quirk included. Rebase tries to achieve a clean history where every commit is an entire fully functional (without known errors) feature with complete explanation in the commit message. People fight over them, but I find both goals to be meaningful and the choice depends on your priorities. In fact, I do both- publish a clean history in the master and the original messy history as a separate branch.

    > I'd really like to know what mess people make when they don't rebase.

    As a developer, we have the expectation that git will allow us to experiment with features, make mistakes, correct them, roll them back and improve. That stage is also so messy that you'd leave short commit messages that would make sense only to you. This is fine while developing. But this leaves many commits that are functionally broken, partial or rolled back later. That, along with vague commit messages make it really hard for someone else to pick up a working commit from your branch and continue. Heck! I find it hard to choose a commit even from my own older repositories. That isn't the case with good projects like the kernel. You can pick any commit on the master and it will compile and work with all the features advertised up to that commit message. It makes a users' life easier.

    > I've found that using merge gives a readable trail of when something was merged, whether that be from a branch's original branch, or if you're merging into another branch.

    This is true. It's harder to achieve with rebasing. But it's possible with some work. I usually leave the original messy feature branch intact, and mark the rebased HEAD with a similar-worded tag or branch.

    > Rebasing just seems to cause a lot more headache when something doesn't go perfectly correct in between commits.

    Don't take any offense, but those are beginner blues. It happens in the early stage of learning rebases when you don't have a full grasp of what is going on. People evolve different strategies to overcome this once they are a bit more comfortable. My strategy is to create a temporary branch for rebasing (at the same commit as the feature branch) and do multiple rebases on it. I do only one or maximum two operations during each rebase. The result of each rebase is reviewed before doing the next round of rebase on the same branch. The original feature branch is left intact in case something goes wrong - though I never needed it.

    Other people do rebasing occasionally while developing the branch. They do this after every two or three commits. They end up with a clean history to merge (fast-forward) to master, by the time they finish the branch. All of these operations can be simplified using helper tools like git-revise [1].

    My absolute favourite method is to not use rebase at all. Craft the perfect commits as you develop. This can be achieved with a patch stack tool like quilt or stacked-git [2]. It allows you to move your changes to a patch (commit) of your choice. This is like having multiple staging indexes available. You can also split, combine or reorder patches. The patch stack evolves as you develop, but you end up with a perfect history to rebase at the end.

    [1] https://github.com/mystor/git-revise/

    [2] https://stacked-git.github.io/

just

Posts with mentions or reviews of just. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-27.
  • I stopped worrying and loved Makefiles
    7 projects | news.ycombinator.com | 27 Apr 2024
    I don't like makefiles, but I've been enjoying justfiles: https://github.com/casey/just
  • Just a Command Runner
    1 project | news.ycombinator.com | 25 Apr 2024
  • Ask HN: Any tool for managing large and variable command lines?
    8 projects | news.ycombinator.com | 25 Apr 2024
    I started using just [0] on my projects and have been very happy so far. It is very similar to make but focused on commands rather than build outputs.

    Define your recipes and then you can compose them as needed.

    [0] https://github.com/casey/just

  • Ask HN: What software sparks joy when using?
    10 projects | news.ycombinator.com | 17 Apr 2024
    just - https://github.com/casey/just
  • GitHub switched to Docker Compose v2, action needed
    2 projects | news.ycombinator.com | 3 Apr 2024
    Welp there is absolute chaos in that thread -- guess it's not an April Fools joke.

    I wonder if relying on CI for anything other than provisioning machines is a mistake -- maybe we should have never moved from doing things from local scripts written in $LANGUAGE.

    That said, I'm probably biased since I'm a massive fan of things like `make` and more appropriately for the current age, `just`[0]

    [0]: https://github.com/casey/just

  • Which command did you run 1731 days ago?
    9 projects | news.ycombinator.com | 21 Jan 2024
    > When a command has some cognitive requirements I create a script with some ${1:-default} values and I store them all in $PATH enabled local/bin

    I would consider using just for this:

    https://github.com/casey/just

  • Using Make – writing less Makefile
    6 projects | news.ycombinator.com | 26 Dec 2023
    Your coworker's experience is more principled: Make is a mediocre tool for executing commands. It wasn't ever designed for that. Although it is pretty common to see what you are mentioning in projects because it doesn't require installing a dependency.

    For a repo where an easy to install (single binary) dependency is a non-issue, consider using just. [1] You get `just -l` where you can see all the command available, the ability to use different languages, and overall simpler command writing.

    [1] https://github.com/casey/just

  • Show HN: Just.sh – compiler that turns Justfiles into portable shell scripts
    7 projects | news.ycombinator.com | 26 Dec 2023
    This is fantastic, but I'd say that this solution is somewhat in response to this open issue from 2019:

    https://github.com/casey/just/issues/429

    I really wish just was included as a package in distributions.

  • Sharing Saturday #496
    6 projects | /r/roguelikedev | 8 Dec 2023
    So far, I didn't work on new features at all but on stabilizing the ground for further development: 1. CMake lists and modules were rewritten a lot, now managing builds and their configurations is much lesser pain. 2. Brought in Justfile for regular tasks, and it's great, no less. 3. Linters, formatters, analyzers for almost all the code (except for Janet for now, as because of it being a niche and young technology, it didn't get enough attention yet). 4. ECS stub. Now runtime class doesn't look like a god object. 5. Started writing unit tests which didn't happen with my personal projects before and maybe indicates how serious am I about this one :D 6. Some of previously hardcoded data has been moved to INI files. Now, if I release the game in 10 years, and in 10 more years some eccentric person decides to make a variant of it, it will be slightly simpler.
  • What’s with DevOps engineers using `make` of all things?
    17 projects | /r/devops | 6 Dec 2023
    i've grown to like this for my personal projects. https://github.com/casey/just

What are some alternatives?

When comparing git-revise and just you can also consider the following projects:

2019-how-to-undo-almost-anything-with-git

Task - A task runner / simpler Make alternative written in Go

dotfiles

cargo-make - Rust task runner and build tool.

azs - A command line tool that leverages fuzzy search to easily switch Azure CLI's subscription

cargo-xtask

devnv - devnv saves project locations and helps you cd into projects folders and configure the shell

Taskfile - Repository for the Taskfile template.

git-rocket-filter - Rewrite git branches in a powerful way

CodeLLDB - A native debugger extension for VSCode based on LLDB

2019-how-to-undo-almost-anything-wit

cargo-release - Cargo subcommand `release`: everything about releasing a rust crate.