r/git • • Jun 20 '14

Reinventing Git interface

http://tonsky.me/blog/reinventing-git-interface/
3 Upvotes

14 comments sorted by

27

u/Evan-Purkhiser Jun 20 '14

I have some serious gripes with this post. Maybe I've become stuck in my ways, but I really feel that a lot of these ideas are really removing a lot of the flexibility of git.

While there’s (usually small) point in using it just for yourself

I'm sorry, but this statement is just so wrong to me. Using git for small personal projects does not provide just a 'small' advantage. It provides a huge advantage, even just simply being able to revert some work you've done is absolutely necessary in the workflow for someone who is used to using a VCS.

we should remove any manual branch syncing stuff. Our Git client will always stay online, and will always sync local branches state with remotes. When you create a branch, it gets immediately pushed and visible for all other clients connected to the same repository.

???? What. What will this do with multiple remotes, etc?

from now on, you'll just commit locally and, magically, everybody else will be able to see your changes.

This is definitely something I would not want!

As you're working in your branch, you can still reorganise, restructure, reorder and rename commits in your branch. These changes will be incrementally synced to all other peoples’ machines as you go. They'll initially see your mess, but then they'll see all the changes you're doing to make your branch look pretty.

So how do they know when my branch has become public and they can base their work off of it?

Make it web app in order to make it accessible from remote machines via browser

This is not something that should be part of the git core.


A lot of these points need much more thought put into them.

10

u/joeyGibson Jun 20 '14

I'm sorry, but this statement is just so wrong to me. Using git for small personal projects does not provide just a 'small' advantage. It provides a huge advantage, even just simply being able to revert some work you've done is absolutely necessary in the workflow for someone who is used to using a VCS.

If I'm working on a bit of code, and I've spent more than about 3 minutes on it, I will go ahead and turn that directory into a Git repo and continue on. It's so nice to have something so lightweight for this type of thing. I could not go back to heavyweight always-need-to-be-online VC like what the author seems to favor.

1

u/magnetik79 Jun 23 '14

I work exactly the same way now. A few hundred key strokes in I always reach for "git init". It's fast - keeps out of the way and does what you want - lock away your precious incremental hacking work milestones.

Even now gone to the level of putting my textfiles of notes/todos/cheatsheets into Git - pushing/pulling them between my home/work PCs as needed - love it.

3

u/joeyGibson Jun 23 '14

I have an alias I use for this called "this". It looks like this

this = !git init && git add . && git commit -m \"initial commit\"

If I invoke it as "git this" in a directory, it will create the repo, add everything (I have a decent ~/.gitignore_global) and commit it with a generic comment. I use this several times a week as new experiments crop up.

1

u/bart9h Jun 26 '14

I agree with your points, but the post also have some valid ideas.

11

u/maryjayjay Jun 20 '14

Git repo is not immutable, you can orphan a commit and it will be deleted by GC.

15

u/Denommus Jun 20 '14

Let's remove all the advantages of DVCS by making it centralized again instead! Whoa, such great, much enjoy.

5

u/gfixler Jun 20 '14

I thought "Oh, here we go again" - I never have a problem with the CLI - but the visuals were actually quite compelling and well made. In the words of Gary Bernhardt, "I like the cadence of always typing," but if you're not like that, and you rely on the mouse, this seems like the start of a nice interface.

2

u/ChemicalRascal Jun 22 '14

There's no reason something like that couldn't be implemented as a third-party git interface, but as others have noted, there's a lot of stuff in this article that utterly ignores git's distributed design.

1

u/entdude Jun 20 '14

are there better solutions than GIT?

1

u/magnetik79 Jun 23 '14

Does read like someone pining for SVN :)

0

u/BluntSummoner Jun 20 '14

In..terface? For Git?