Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Why is there no git-light VCS, with only the top 5-8 commands available? Push, fetch, commit, merge, rebase, branch, init... maybe I forget 1 or 2. I have to think extremely hard what command I used intentionally in the past 10 years (sometimes I used some arcane commands, only to fix some problems that was caused by some other arcane commands)



Surely you can just use git and limit yourself to the commands you're comfortable with?


I've used git effectively and painlessly for many years, and pretty much all commands I ever use are commit, pull, push, checkout, merge and rebase. :) And diff if for whatever reason my IDE is not open already.


I think you're going about it in the wrong direction. Instead of learning what each command does, try learning what operations are possible (eg: move the current branch-ref to another commit, transplant a bunch of commits from one commit to another, etc). You just associate the commands to those operations through repeated use - no forced learning necessary. Recollecting the command is just a manpage away even for rarely performed operations. That makes it easy to learn not just the subcommands, but complex flag combinations as well.

This method also lends well to problem solving. You don't look at a repo and immediately think 'what commands will I use?'. You start with the problem. Then you formulate a solution as a sequence of operations that you know. You may be able to solve a problem with more operations even if you know fewer operations. Finally, convert each operation into a command and execute them.

Even the pro-git book is structured this way.


There's Openbsd's got[0].

0. https://gameoftrees.org/index.html


Almost... but not what I'm looking for. I'm looking for something without actual git. I can also just ignore most of the ugly commands of git, but I'm thinking of something that doesn't make me think of what commands are worth remembering. I'm looking for "simple code versioning for dummies, that you can't break even if you tried hard"



Like the sibling comment mentioned, what you're looking for is fossil [0].

Fossil was created by Richard Hipp, who's also the creator of SQLite.

Fossil as a version management system gets completely out of the way.

In all the years over used Fossil, I've rarely had to use more than a few commands and have never had to understand any underlying concepts, let alone trying to figure out how to use the commands.

Additionally, fossil also comes with a wiki and a bug tracker, which is a bonus.

[0]: https://fossil-scm.org/


Simplicity is in the eye of the beholder but Pijul claims to be "easy to learn and use".

https://pijul.org/


Not exactly what you asked for but if you are an emacs user, magit will make using git so much more pleasant. https://magit.vc/

Generally most IDEs will help you out with basic git tasks without even needing to know commands. There also dedicated GUIs for git.

Though for full time devs just learning how to use plain git isn't that hard. I very rarely have to look up git commands these days. You can limit yourself to the basic commands first.


Magit is more like a keyboard shortcut for those who already know their way around the git CLI. The direct mapping of CLI to short key sequences and the coherent visual feedback are the qualities that make magit so popular. I don't think someone who finds the CLI unpleasant will find magit to be any better.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: