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.
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
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).
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 :)
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.
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).
I concur — until we get tools that are as pointy-clicky as subclipse and tortoisesvn, there are many users who just won’t switch.
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 :)
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.
I must say, all these tips are very helpful for users. Thanks.
Custom e-commerce design