[plt-dev] git wackiness
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!