On Apr 20, Jay McCarthy wrote: > > I thought "git add" meant "reminder this file to include in the next > commit". However, that's wrong: > [...]
Executive summary: `svn commit' ~ `git commit .' `svn commit path...' ~ `git commit path...' Yes, `git add' does not remember a file to include in the commit, but the actual new contents to commit. This is saved in something that is known as "the staging area" or "the index". It can be useful in some cases, but you can choose one of the following ways to ignore it: git commit [path ...+] --> commits the given paths, regardless of that staging area (this is when at least one path is specified) git commit -a --> does a `git add' on all paths (`-a' stands for `all'), and then commits everything, so this is as if you run an `svn commit' on the repository root. git commit -i [path ...] --> does a `git add' on the listed paths, then commits them If you never do an explicit `git add' yourself, then this staging area is irrelevant -- the last two commands add stuff to it, but you won't have other changes there. But if you do have changes there, you can also do git commit -o [path ...] which will commit *only* these paths, ignoring stuff that was added. As the man page says, this is the default mode, which is why the first option works. -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://barzilay.org/ Maze is Life! _________________________________________________ For list-related administrative tasks: http://list.cs.brown.edu/mailman/listinfo/plt-dev