Re: Git User's Survey 2007 unfinished summary continued
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Oct 19, 2007, 23:27 UTC
- Message-ID
- <8fe92b430710191627k570d9acfh22255a3971f172ed@mail.gmail.com>
- In-Reply-To
- <1192827476.4522.93.camel@cacharro.xalalinux.org>
On 10/19/07, Federico Mena Quintero <federico@novell.com> wrote:
Show 12 quoted lines
> "Make git more task-oriented rather than data-model-oriented" is about > making the tool adapt to what you usually want to do, instead of making > *you* adapt to the way the tool wants to work. Many commands in Git > have documentation like > > "option --foo updates the refs without modifying the index. Requires > a clean working tree" > > This is gibberish for people who are not very familiar with Git's > internals. "Git for computer scientists" provides a *very nice* > explanation of the DAG and refs and tags, but unfortunately it doesn't > explain the index, why you would want to know about it, etc.
That is what "Git User's Manual" (and tutorials) is for. And there is glossary in documentation.
[...]
Show 16 quoted lines
> It's nice that Git lets you manipulate the repository in all kinds of > ways, but presenting porcelains at the same level as plumbing makes > things hard for users to learn. I was just in our Beijing office, > teaching people about development tools and Git in particular. > > Federico: "get Git from this location" > > Beijing hacker: tap tap tap, "okay, it's installed now" > > Federico "Git commands all start with 'git'" > > Beijing hacker: git<Tab> > > Bash: Display all 150 possibilities? > > Beijing hacker: "oh, shit..."
It is better to use bash (or zsh) completion, than rely on completion of commands names.
Beijing hacker: git <Tab>
(that is, space after 'git') shows around 62 commands.
> It's hard to know where to begin :) Do I need "git-cherry-pick" or > "git-cherry"? Why is the "apply a patch" command called "git-am"? Why > is it different from "git-apply"? From "git-applypatch"? Etc.
I think git-cherry will soon be obsoleted and removed, such like git-applymbox and it companion git-applypatch are being obsoleted by git-am.
git-am applies series of patches _with description_ from messagebox, creating commits if patch applies without conflicts. It requires git extended patch for sensible operation; it is best when patch is result of git-format-patch. git-apply is to apply GNU patch (optionally git patch) to working area, or working area and index, but do not create a commit. It is improved version of GNU patch utility (it understands git extended diff syntax), but it is not meant (alone) to work with commits send by email.
-- Jakub Narebski