Skip to main content

Diigo Home

The Thing About Git - The Diigo Meta page

tomayko.com/...the-thing-about-git - Cached

This link has been bookmarked by 49 people . It was first bookmarked on 08 Apr 2008, by Avdi Grimm.

  • 23 Sep 09
  • 17 Sep 09
  • 13 Sep 09
  • 18 Jun 09
  • 15 May 09
  • 17 Feb 09
  • 01 Feb 09
    • The Index is also sometimes referred to as The Staging Area, which makes for a much better conceptual label in this case. I tend to think of it as the next patch: you build it up interactively with changes from your working copy and can later review and revise it. When you’re happy with what you have lined up in the staging area, which basically amounts to a diff, you commit it. And because your commits are no longer bound directly to what’s in your working copy, you’re free to stage individual pieces on a file-by-file, hunk-by-hunk basis.
  • 20 Jan 09
  • 16 Jan 09
  • 10 Dec 08
  • 24 Nov 08
    drewreece
    drew Reece

    Staging and committing multiple changes

    git howto reference versioncontrol

  • 19 Nov 08
  • 25 Sep 08
  • 22 Jul 08
    stantont
    Stanton Teters

    How git has affected his workflow. Includes a bit of comparison to other source control tools.

    dvcs source-control scm programming development git delicious-import

  • 09 Jul 08
  • 20 Jun 08
  • 10 Jun 08
  • 03 Jun 08
  • 19 May 08
    • Version control systems have traditionally required a lot of up-front planning followed by constant interaction to get changes to the right place at the right time and in the right order. And woe unto thee if a rule is broken somewhere along the way, or you change your mind about something, or you just want to fix this one thing real quick before having to commit all the other crap in your working copy.
    • You can work on five separate logical changes in your working copy – without interacting with the VCS at all – and then build up a series of commits in one fell swoop. Or, you can take the opposite extreme and commit really frequently and mindlessly, returning later to rearrange commits, annotate log messages, squash commits together, tease them apart, or rip stuff out completely. It’s up to you, really. Git doesn’t have an opinion on the matter.
    • 22 more annotations...
  • 25 Apr 08
  • 22 Apr 08
  • 14 Apr 08
  • 13 Apr 08
  • 11 Apr 08
    jaykul
    Joel Bennett

    A good description of how Git is different than other version control systems -- makes me almost interested in using it.

    development sourcecontrol scm vcs git articles blogs

  • 09 Apr 08
    marcoil
    Marc Ordinas i Llopis

    Author describes nice feature in git, comments give nicer feature in bzr.

    versioning tool

  • lautaportti
    Kai Lautaportti

    Hunk based committing with git add --patch

    development git

  • 08 Apr 08
    • The thing about Git is that it’s oddly liberal with how and when you use it. Version control systems have traditionally required a lot of up-front planning followed by constant interaction to get changes to the right place at the right time and in the right order. And woe unto thee if a rule is broken somewhere along the way, or you change your mind about something, or you just want to fix this one thing real quick before having to commit all the other crap in your working copy.



      Git is quite different in this regard. You can work on five separate logical changes in your working copy – without interacting with the VCS at all – and then build up a series of commits in one fell swoop. Or, you can take the opposite extreme and commit really frequently and mindlessly, returning later to rearrange commits, annotate log messages, squash commits together, tease them apart, or rip stuff out completely. It’s up to you, really. Git doesn’t have an opinion on the matter.

      • If you took The Tangled Working Copy Problem to the mailing lists of each of the VCS’s and solicited proposals for how best to untangle it, I think it’s safe to say that most of the solutions would be of the form: ”You should have XXX before YYY.”



        • Subversion: You should have committed the experimental changes to a separate branch before working on the bookmark stuff.

        • Bazaar: You should have shelved your experimental changes before working on the bookmark stuff.EDIT: My mistake. bzr shelve solves exactly this problem.

        • CVS: You should have RTFM before wasting everyone’s time with such a lame question.

    • Here’s a general principal I would like my VCS to acknowledge: moving from the present point B to some desired point C should not require a change in behavior at point A in the past. More simply, the phrase: “you should have,” ought to set off alarm bells. These are precisely the types of problems I want my VCS to solve, not throw back in my face with rules for how to structure workflow the next time.