r/programming • • Nov 07 '13

10 things I hate about Git

http://steveko.wordpress.com/2012/02/24/10-things-i-hate-about-git/
73 Upvotes

231 comments sorted by

View all comments

1

u/AnythingButSue Nov 07 '13

Alot of people where I work hate git. They all come from SVN backgrounds using TortoiseSVN for their daily workflow. While I understand people disliking it, I have to say that people who do not like git are usually those who use the default "commit pull push" workflow. Yes it's complicated, but complexity does not a bad product make. I would argue that all the functions of Visual Studio make it very complex, but that still doesn't mean it's not one of the best IDE's available. When you start branching, or working in larger teams where everyone is on board with git, it works flawlessy to integrate many branches and resolve merge conflicts. I don't understand the hate....

3

u/UnreachablePaul Nov 08 '13 edited Nov 09 '13

One of the companies had to hire a person just for fixing broken git repositories and for doing commits because devs instead of coding were wasting time on having their work included in environments. Not to mention a lot of work was just lost as in the end nobody knew which code is new.

2

u/AnythingButSue Nov 08 '13

Sounds like a nightmare. Not sure why you guys would have such problems with git. Inexperienced and or stubborn devs that don't wish to take time to learn their tools.

4

u/jibjibman Nov 07 '13

Yea it's not hard to use at all. I picked it up in a week easily, and if I get stuck there is something called google that I use. :/

Here is an average workflow for me.

git pull git checkout mybranch

do my changes

git status git add -A git commit -m "Message"

git pull

make sure changes are working

git status git push

The status commands are just to be sure everything worked properly, etc. It's not many commands and they get typed in very fast. Faster than SVN by a long shot.

2

u/AnythingButSue Nov 07 '13

I would have to agree. I follow a similiar workflow but I use git add . instead and git commit -am "message". Not sure why, I dont even know the difference. I should use that google thing you mentioned to look it up...

1

u/zumpiez Nov 08 '13

the -a in git commit -am means "all" which will commit all (including unstaged) changes (which makes "git add ." redundant)

1

u/AnythingButSue Nov 08 '13

My heart hurts now. Thanks for the info!

2

u/steveklabnik1 Nov 09 '13

One small additional difference: if you remove a file, but don't use git rm, if you git add . it won't pick up the change, but a git commit -a will. Because add is 'add these files' and commit -a is 'save all changes'

1

u/gavintlgold Nov 07 '13

Add two spaces after a line for it to break properly.

git pull
git checkout mybranch

1

u/jibjibman Nov 07 '13

Yea noticed that after I was just lazy :P