Hi all,<p>I'm the creator of Bit. Bit is all about making your life just a little bit easier. It helps you spend less time fiddling with Git and more time developing code.<p>Whether it's autocompletion at your finger tips, sorting branches by most recent, checking out PR's with ease or auto-fast-forwarding when possible - Bit has your back!
Git is what happens when a technology is born out of hardcore engineering. Most of the world could greatly benefit from its functionality but it’s too hard for non software-engineers to learn. I hope the next era of version control thinks about the problem from a less technically inclined user’s perspective.
Out of curiosity, does anyone know of any good alternatives that make version control easy? I personally love git, but want to see it’s benefits brought to a wider base of people. Projects like Bit are a step in the right direction.
I’m generally very skeptical of anything that abstracts away git with UIs. This looks really cool though and I like that you embedded common git workflows into the CLI
Bit needs just one single switch and everyone will gladly use it for its killer feature.<p>Undo with one single command, without strange additional arguments, weird naming, strange documentation[1] etc.<p>[1]<a href="https://git-man-page-generator.lokaltog.net" rel="nofollow">https://git-man-page-generator.lokaltog.net</a><p>When anyone is doing the "next best thing after bread and butter" version control, please start with --undo switch.<p>Sometimes you just need a hammer, without any will or need to learn how to make hammers.
The git CLI definitely leaves room for improvement and thus for projects such as this one but I personally feel that the git plugin for your preferred shell and a custom set of git aliases adjusted to your personal workflow will get you most of the benefits an improved git CLI can provide. This also yields a better understanding of git itself which will be beneficial if you have to use git in an environment without any extras.
> bit fix for all the times you did something you really wish you didn't<p>Enlightenment is when you realise git is append-only and doesn't let you do anything you wish you hadn't.<p>The trouble is with any git "frontend" is it builds on top of git's existing abstractions. To make a good cli for git you would strip everything back to just the DAG manipulation functions and then invent a new language on top.
There's also lazygit[1], which is written in Go.<p>[1] <a href="https://github.com/jesseduffield/lazygit" rel="nofollow">https://github.com/jesseduffield/lazygit</a>
I think the developer did a great job with this project. It's really interesting looking at how the developer tries to reduce complexity out of git. However, I don't know how useful this is. It's another layer of abstraction which adds complexity. You now have to learn git _AND_ bit--and I'm not sure git is complex enough to me that it justifies this. The escape hatch out of bit is that it's "fully compatible with git allowing you to fallback to git if need be."<p>git alias is a form of abstraction and I use that to simplify my git workflow. I may even have a few scripts that do more complicated stuff. But it's limited. The feature list of bit is pretty significant. That's a lot of cognitive load and I'm wondering if / when did bit start to take on more complexity than it took away.
Looks very interesting, congrats!<p>A common mistake I have come across a few times (and seen others fall victim to as well) is forgetting to stage a file that's necessary for the new feature or fix they just committed.<p>Do you think that identifying these cases and suggesting to stage them is something in line with the project? (e.g. while trying to commit: "You imported file X in a file you staged, but it is currently being ignored, do you wish to stage it as well?")
Using a modern shell like fish and cli tools like fzf, sed, sort etc together to create abbreviations (not aliases in fish) give you 100x more features than this.<p>I type ck and get a fzf list of local and remote branches I can fuzzy search and select to checkout.
Yeah this is great but the power of git is kinda in its ubiquity like bash or cURL it’s everywhere and the lowest common denominator.<p>I can’t help another dev if they need this installed for me to be helpful, etc...<p>I really wish changes like this got upstreamed.
> Automatic fetching & fast forwarding to keep your branches up to date and prevent merge conflicts<p>Doesn't that negate the advantages of `push --force-with-lease` over `--force`?
Great idea and looks pretty and useful. But, I am out because of the single binary and go. Dynamic linking allows better control of the system and security.