• Easy Git!

    defunkt 3 Feb 2009

    eg is a nifty piece of work. Are you meeting resistance trying to move your coworkers or friends to Git? (“SVN is good enough.”) Know someone who would love to use GitHub but can’t seem to find the time to learn Git? eg is your answer.

    Start with the Easy Git for SVN Users chart.

    Then move to the eg cheat sheet:

    Committing works similar to SVN but tries to educate you on the idea of the staging area.

    $ eg commit
    Aborting: You have new unknown files present and it is not clear whether
    they should be committed.  Run 'eg help commit' for details.
    New unknown files:
      info.txt
    

    Install it:

    Download eg.

    It’s not Subversion, but it’s a step in the Git direction.

  • Comments

    bekkopen Wed Feb 04 02:50:58 -0800 2009

    Looks neat.

    In my experience, most of the people who are reluctant to switch from svn also have command line angst. They can only work with point-click tools. (Believe me, there are a lot of developers like that).

    happygiraffe Wed Feb 04 05:48:58 -0800 2009

    I concur — until we get tools that are as pointy-clicky as subclipse and tortoisesvn, there are many users who just won’t switch.

    defunkt Wed Feb 04 11:18:42 -0800 2009

    I don’t disagree with you guys, but people who don’t want to take the time to learn Git but are comfortable with SVN CLI do exist. This post was made for one of them :)

    riyanjason Fri Aug 21 12:10:02 -0700 2009

    Linus was not really having a look at mercurial upfront it was DARCS.
    But back to GIT and Linus talk about it. I use git on a day to day base domain registration, but I would shun to introduce it into a project. The learing curve is way to steep and will be for the forseeable future, and it has so many inconsistencies and pitfalls you will run into over time in its command set. While the start is easy and clear, git init, git add -a git commit git branch, git starts to rear its ugly head at the time you want to share a branch:

    example: git share as it should be is in reality:
    git push origin origin:refs/heads/${branch_name}
    git fetch origin
    git checkout --track -b ${branch_name} origin/${branch_name}
    git pull

    or even a simpler case, git checkout should do a checkout, but
    git checkout HEAD simply without any hint produces a floating head and then sets your current head onto dedicated servers, no user feedback nada

    git checkout HEAD . does what you want to do instead

    So if anything fails you suddenly start to commit into a floating head and you still think you are in your normal head.

    even worse:
    git revert does not the same as normal reverts in absolutely any other revision control
    git revert HEAD simply drops your head and checks out the revision HEAD-1

    git revert HEAD must be either used as git stash, git checkout . (the safe way)

    or git reset --hard HEAD (the hard way where you can loose all uncommitted changes into oblivion)

    All of this could be cleaned up, and projects like easygit already cut it to 90% (except that eg still does not have a good sane remote branch handling)

    but I would not dare to recommend git until the porcellaine really is usable by day to day users.

    The problem is mercurial already has all this but it lacks lightweight branching you have to add via external plugins.
    And the other one is the lack of a well working alternative to git-svn web designer. As soon as HG gets its act together regarding the lightweight branches and svn connectivity there is a hard justification to use git at all.

    benhurtisson Mon Oct 05 02:20:29 -0700 2009

    I must say, all these tips are very helpful for users. Thanks.
    Custom e-commerce design

    Please log in to comment.