Re: Hyphens and hiding core commands
From: Junio C Hamano <hidden>
Date: 2016-08-11 19:19:12
Carl Worth [off-list ref] writes:
Yes, there is a learning curve. There's the "once you grok the index"
stuff you just mentioned. And it's really backwards to have to teach
people that the "basic" way to do something is with a command line
that looks more complex, ("commit -a"), and that "once you learn more
you'll understand what that -a is all about and you'll know when not
to use it".I think you are teaching backwards. Couldn't you start like this? "git commit" takes the list of paths you want to commit. Editing hello.c and saying "git commit hello.c" would commit your changes to hello.c. It is cumbersome to list everything when your edit is all over the place, and in such a case you can say "git commit -a" to mean "everything I changed". Later you can enhance that experience by teaching them index, saying: You might want to tell git that your change to this file is more or less complete, even when you are not ready to commit the whole thing. You could use update-index to mark them and then later say "git commit" will make a commit from the state you used update-index on, without having you list them on the command line. When you do this, the commit template would list three classes of files and here are what they mean...