git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: first impressions to git

From
Daniel Barkalow <barkalow@iabervon.org>
Date
Sep 18, 2005, 16:56 UTC
Message-ID
<Pine.LNX.4.63.0509181201220.23242@iabervon.org>
In-Reply-To
<20050918111259.GA10882@schottelius.org>
On Sun, 18 Sep 2005, Nico -telmich- Schottelius wrote:
Show 12 quoted lines
> Hello!
> 
> I was testing git for my needs with the following ideas in my mind:
> 
> - it must be easy to use
> - documentation must be easy to find, understand and remember
> - it should be fast
> - optionally using the filesystem as a database would be nice
> 
> My first impressions are:
> 
> - many commands, reminds me of arch/tla

git's got a lot of internal commands that you shouldn't need to use. If you don't count the executables, but rather count the options listed by "git"... you still get a lot. But most of those are scripts for doing common operations. Maybe we should have a list of the set of commands you actually need, without the commands that are unnecessary but streamline things you might want to do? (For example, git format-patch generates a set of patches in a single command with a single argument; but you can also generate a diff with git diff, if you want the primitive operation.)

I think the only ones you actually need are: init-db, add, commit, checkout, push, pull, status, diff, log, and tag. But if you're trying to track down which commit broke something, bisect will come in handy. And there's applymbox for applying an mbox file of patches, and so forth.

>    o it's not clear to me, how I should publish (push)
>       - scp/rsync from outside
>       - git/cogito push

You generally want some public location which allows at least one of anonymous rsync, http, and git-daemon (e.g., kernel.org currently serves the relevant directories by rsync and http). You then push to that location from wherever you actually work.

Show 6 quoted lines
>    o excluding *.o seems not to work, neither through .gitignore nor through
>      .git/info/exlude
> - How do I check integrity of files, is signed files somehow implemented?
> 
> I've written some notes down in
>    http://creme.schottelius.org/~nico/temp/git-erfahrungen
(Now at .../git-erfahrungen01)

It looks like you managed to be using an *older* version than the documentation; git-update-index is the new name, not the old one. I'm not sure how that happened, but I'd guess a "make install" bug or a PATH issue or something.

We need to fix the error for trying to add a directory, and we should probably support it in "add".

Core git doesn't have a .git/info/excludes at all. (And, in general, .gitignore makes more sense, I think, because you usually want this to be version-controlled; but maybe there should be .git/info/excludes as a default for new directories?)

.git/description is actually a gitweb feature, not a core git feature. You'd only set it up for public repositories that you want to describe.

I'd be much obliged if you could tell me where the documentation lost you; it's really hard to document effectively without the assistance of someone who doesn't already know the program.

".git/remotes" is the current one; ".git/branches" is obsolete.

The only "push" protocol is ssh (using an scp-style path). Pull protocols are: ssh (using the scp-style path), anonymous rsync, http/https/ftp/anything else "curl" supports, and the git daemon protocol (that is, you can run a program directly or from inetd to serve files to clients that ask with "git://" URLs).

	-Daniel
*This .sig left intentionally blank*
Previous: Petr BaudisNext: Junio C Hamano
Message 3 of 11 in “first impressions to git”
  1. Nico -telmich- SchotteliusSep 18, 2005
  2. Petr BaudisSep 18, 2005
  3. Daniel BarkalowSep 18, 2005
  4. Junio C HamanoSep 18, 2005
  5. Nico -telmich- SchotteliusSep 18, 2005
  6. Kay SieversSep 18, 2005
  7. Junio C HamanoSep 18, 2005
  8. Petr BaudisSep 18, 2005
  9. Junio C HamanoSep 18, 2005
  10. Linus TorvaldsSep 18, 2005
  11. Sven VerdoolaegeSep 19, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.