News for hackers. Stuff that matters.
Re:Still hatin' on git: now with added Actual Reasons by moe on Wednesday May 12, 2010 @07:18PM (#1342611)
Don't give up faith my friend. Git and mercurial are not the end of the story.

I'm optimistic that, within another few years (give or take a decade), someone will come up with a VCS that's both powerful and usable. :-)

Other than that: I enjoyed your article. Very nice walk through some of the problems and hair-pulling that I'm going through regularly, too.

Pro-Tip: My life with git got a bit easier since I keep this big bucket of paste-ready shell-snippets near my terminal window. You know, those handy little 14-liners that look like line-noise at a glance, but get you out of "situations" when chanted.

Re:Still hatin' on git: now with added Actual Reasons by pellicle on Thursday May 13, 2010 @03:54PM (#1345423)
> Git and mercurial are not the end of the story.

> I'm optimistic that, within another few years (give or take a decade), someone will come up with a VCS that's both powerful and usable. :-)

Do you think Hg shares the same amount of usability as Git?

Re:Still hatin' on git: now with added Actual Reasons by DTrejo on Wednesday May 12, 2010 @09:01PM (#1342856)
link to your 14-liners?
Re:Still hatin' on git: now with added Actual Reasons by moe on Wednesday May 12, 2010 @10:21PM (#1343051)
Sadly I guess they most of them don't make much sense without context or the discussion/thinking that led to them.

But for example, this is my snippet for merging my current branch into master and pushing that to origin (hopefully merging/cleaning up in between as appropiate):

  # on local branch
  git fetch origin master
  git rebase origin/master

  # tidy up
  git rebase -i origin/master

  # merge to master
  git checkout master
  git merge $my_branch

  # push to master
  git push origin master

  # go back to local branch
  git checkout $my_branch
I didn't originally come up with all that, mind you. It's pulled from a workflow tutorial and you'll find basically the same procedure recommended in every tutorial (keywords: feature branches and "don't work directly on master").

And yes, I paste that multiple times per day and still throw up a little bit inside my mouth every time.

Re:Still hatin' on git: now with added Actual Reasons by dlsspy on Wednesday May 12, 2010 @11:08PM (#1343147)
Your first two commands can be replaced with (one time):

git config --global branch.autosetuprebase always

Then "git pull"

Without doing the config change, you can just do a "git pull --rebase"

Your "git push origin master" is typically what I spell "git push" (recommend "git config --global push.default tracking" just to make sure you're pushing the same stuff that's tracked automatically).

So, my every day workflow (rebasing upstream and building on top of stuff) looks like this:

    git pull
    [edit a bunch of files]
    git add -p
    git commit
    git push
My mouth is minty fresh.
Re:Still hatin' on git: now with added Actual Reasons by moe on Thursday May 13, 2010 @11:21AM (#1344495)
I guessed I'd have something like that coming and yes, that might work.

Except when you regularly need to create new working copies on varying git versions where those config details tend to differ in subtle ways. Too often did I have to wrestle problems on someones MacBook simply because the config or command syntax changed slightly between a few git revisions.

I'd go as far as to say that local (i.e. not repository-wide) config settings that change the semantics of how the commands work are deeply harmful in a team-setting.

It's yet another layer of complexity that you have to keep in mind when debugging problems.

Sure, it can save typing when everyone involved uses the same git version and has a good understanding of git. Unfortunately neither has been the case on most projects I've been involved with.