Live data from Hacker News

Die Git Die

github.com

31–40 of 100 posts

Re: Die Git Die

#31
post #9

you need to read "Git for dummies"

git has no user interface. git expects its users to have an in depth understanding of its implementation details. These are failures of git. Ideally, studying abstruse man pages to avert disaster wouldn't be required of new users.

You are confusing 'implementation details' with how does git abstract reality. You are not supposed to know how things are implemented, really.

Re: Die Git Die

#32
You can't blame git where you clearly didn't fully understand how it works, and you clearly ignored its error messages, and used the -f option. There's some very useful tools like "tig" to check the state before pushing. A good rule of thumb is to never push -f before being absolutely sure of what it's going to do. And everything is not lost, you can still use "git reflog" to retrieve the previous state. You're whining about git where you are clearly in fault here :)

Re: Die Git Die

#33
post #20
post #13

Whenever I'm pulling down code, instead of `git pull', I use fetch. I fetch the specific branch into the local remote tracking branch (remote/branchname). Then use rebase, rather than merge. I won't lose anything and it avoids those dumb merge commits. Also, aliases are great for this. git fetch :refs/remotes/ / git rebase /

That's equivalent to just doing `git pull --rebase`, no?

`git pull --rebase` does not update my remote tracking branch. Though you may not care about this.

Re: Die Git Die

#34
post #9

you need to read "Git for dummies"

git has no user interface. git expects its users to have an in depth understanding of its implementation details. These are failures of git. Ideally, studying abstruse man pages to avert disaster wouldn't be required of new users.

Git interface is hard, because git is hard. Git is hard because it is so powerful. Git developers don't care about newbie users who can't even bother to RTFM. There is just no reason they should.

Git user interface is fine when you finally learn how to use git.

Re: Die Git Die

#35
post #7

"The git, the?" But seriously, yes, you have to learn how to use Git in order to use Git. But you don't have to use Git. Click here to renew your Visual Source Safe license, or better, just copy your file to file.1 every time you edit it. No way that can go wrong!

You say that, but the next version of Visual Studio's gonna have git built in. Seriously. Gonna be a lot of new (and probably confused) users out there.

But VS won't require using command line

Re: Die Git Die

#36

I totally agree that this is surprising behavior. But git did try to tell you: ! [rejected] master -> master (non-fast-forward) And once you've invoked the gods of `push -f`, you're on your own.

As someone who's only used git in fairly straightforward ways, that line is complete gibberish to me.

Re: Die Git Die

#37
git was designed by and for people who read man pages. the fact that it has significant usability problems is a problem for them only in so far as they are interested in having you contribute code to them, which is to say very little.

Github is the one who wants you to use git. This is why github built you a gui.

Re: Die Git Die

#38
> However, git will not pull matching branches. That means that all your branches except your current branch will not get updated when you pull.

This is why git-up was created: https://github.com/aanand/git-up

It's silly that this is necessary, but "gem install git-up" and then run "git up" instead of "git pull" and you'll be much happier.

Re: Die Git Die

#39

Git has a lot of UI problems. This is not really surprising. It's gotten a lot better, but I do think that no matter how proud Torvalds is of the fact that he never looked at another version control system for inspiration, a lot of pain could have been avoided if he had (even while still going in the different directions he did). Not all of us had the 'luxury' of never working with version control before. But don't g…

Git is a brilliant piece of technology engineering, with an embarrassingly half-baked user interaction model.

If I could change one thing, it would be pushing and pulling between workstations and central repositories. Distributed is nice, but at the end of the day you still want your code to end up somewhere, and Git doesn't make that process feel smooth or robust.

Re: Die Git Die

#40
post #33
post #20

Earlier quoted context omitted.

That's equivalent to just doing `git pull --rebase`, no?

`git pull --rebase` does not update my remote tracking branch. Though you may not care about this.

The "git pull" man page states that "git pull --rebase" is exactly equivalent to "git fetch" followed by "git rebase" so I'm not sure why it wouldn't update your remote tracking branch (since that is what "git fetch" does).
Post reply on HN