4 ms·
The real problem with git.
Sorry I have no blog. The commands make no sense and are hard to remember. It would be so quick and so easy to remember:
- git stage add file
- git stage remove file
- git stage list.
Sorry, I can't give you the real commands, I never remember them.
Oh, and also, why can't it save empty directories? Is there a clause somewhere saying that empty directory isn't important?
Oh, and last thing: We all know that branches are great and cool, but I'm still tired of rebuilding everything to make the history "cute".
My 5 cents, happy karma downing
- d0m 17y agoOh, and gitk is so damn ugly.
- ozataman 17y agoIf you are using a Mac, try gitx as the front-end.
- aphyr 17y agoReally? I came from RCS, CVS, and SVN. Git's toolkit took about ten minutes to get used to, but then I suddenly realized that it made far more sense than SVN. git add, git status, git commit -a. All repos are equal. Everything is small, and everything is fast. Really fast. There's rarely a need for git rm or git mv, since they're implicit. Waaay better than SVN, where I could never remember if I had to move it by hand first or afterwards, and half the time committed multiple copies of a file I meant to rename. The empty directory thing has never been a problem for me; my software creates directories as needed. You can always drop a .file in the dir if you really need it. Branches work great. They're just pointers! Plus you can revert merges, and it just works. I never rebuild the history, but I guess if I was working in a large team with complex patchsets I might. Our team of six seems to get along just great with a central free-for-all repo. Gitk is ugly. No two ways about that. :D
- d0m 17y agoOh, I never said SVN was better :)
- sunchild 17y agoCommands make no sense? git add . git commit -am "feature working great" git push git branch new_feature git checkout new_feature git commit -am "new feature working great" git push origin new_feature How hard is that?!
- d0m 17y agoThere are lots of hidden step between all your commands sir, and you perfecly know it. Now, start removing files from your "git add ." Or switch branches without losing your change. Or rebasing. I never said it wasn't possible, neither hard. But, the interface (read CLI) still sucks.
- deleted 17y ago[deleted]
- j2d2 17y agoCheck out Smartgit.
- sunchild 17y agoAs far as I can tell, the only step that I left out is "git init". Switching branches without losing your changes is poor form anyway. You should be committing before you switch. If not, you can create multiple local branches (ick!) As for removing, it's familiar: "git rm removed_file"
- zaius 17y agoYou can easily make an alias for all of those commands. I would say that "git add" is simpler than "git stage add". "git stage remove" would definitely be nice. "git reset HEAD file" is a bit clunky. What would "git stage list" do? Saving empty directories is annoying. Just touch an empty ".gitignore" file in the directory and you can then add the directory. If you don't like making your history cute, and you don't see any advantages, don't do it!
- d0m 17y agoI won't fix git bad command line interface. You'll agree with me that it's plain stupid to start creating aliases for such basic commands. However, I'll be happy to create alises for more complicated stuff. I mean, I shouldn't have to use alias to fix git' bad command line interface. git stage list would be a kind of git status. To stage file, I use git add. To view them, I use git status. To remove a file from a stage, I use git reset .. That's just plain wrong and annoying. It's like that for every part of git. I don't see why saving empty directories is annoying. If I don't want a directory, I'll just remove it? Or in the opposite, if I want an empty directory, I'll add a directory? Why should I put a hidden file inside a directory to have it added by git? Finally, for the history, I'm just saying that's it's too complicated for nothing. Of course I can avoided it. I also can use SVN and avoid branch because they are complicated, but that's not the point.
- zaius 17y agoI was agreeing that saving empty directories is difficult - it's annoying that you have to put an empty file in them.
- cmelbye 17y agoIf it's really so hard to memorize a certain command, make an alias. My aliases: http://gist.github.com/344530 http://gist.github.com/344530
- joeycfan 17y agoGit is awesome. We owe Linus TWICE now.
- tetha 17y agoHm, I am having troubles actually formulating why I think you dislike git. I think the best description I can come up with is that git developers group commands by different categories than you do. Let's take a look at this: (1) git add puts things into the index, while (2) git reset sets the working tree and/or the index back into a certain stage. The git developers basically grouped "adding stuff" and "setting things back" together, while you would like to group "managing the index" and potentially "managing the working tree" together (such that "stage" is "manage index", while "tree" (or something like that) would be "manage working tree"). So I think no one is really right or no one is really wrong and nothing is really bad. There is just a perspective mismatch