Hi Hacker news !
I’m Julien and I built an alternative CLI for Git : gut.
Even if I haven’t been coding for a long time (I’m in the first year studying computer science), I’ve always found git to be frustrating.
The command naming is inconsistent and git lets you easily shoot yourself in the foot.
I made gut, another git porcelain, to solve these issues.
It provides a consistent naming of command. To do so, syntax is based on subcommands. For example, to delete a branch, run gut branch rm rather than git branch -d, same to delete a remote (gut remote rm) and so on.
Gut also prevents you from shooting yourself. It provides nice defaults and always prompt you before doing something destructive.
Also, it won’t allow you to rewrite the history if it has been pushed to the remote. Creating commits in detached head is also prohibited.
Finally, git was made when GitHub and others didn’t existed yet. To diff commits, gut opens the compare view in the browser. And to merge a branch, gut opens a pull request.
I have been working on this project for the past few months and I am happy to be able to share it.
I hope you’ll like it. Any suggestions is welcome !
Repo: https://github.com/julien040/gut
That got me thinking about the first time I really screwed something up and had to figure out how to use git rebase, and the first time I tried to create a git submodule (back when submodules were new and there wasn't much help to be found on StackOverflow). I must have let the Stockholm syndrome set in, because the "explain" feature is a wonderful idea for students.
The dead-simplicity of it is very desirable in certain spaces. Back when I was in college, I wrote code for some indie visual novel games, and I was always the only person with a software development background. If I had a tool like this, it would have been MUCH easier for my colleagues to cooperate with me in the development process.