You can also use "git citool" and right-click to add or remove a chunk
of a file to the stage.

On Wed, Apr 16, 2008 at 6:57 PM, Wincent Colaiuta <[EMAIL PROTECTED]> wrote:
>
>  El 16/4/2008, a las 17:45, Garry Hill escribió:
>
> >
>  > On 16 Apr 2008, at 16:35, Wincent Colaiuta wrote:
>  >
>
> >> You can _stage_ individual hunks using:
>  >>
>  >> git add --interactive
>  >
>  > I've been trying to understand this stuff, the use of the index and
>  > this idea of staging, but at the moment it's a bit much.
>
>  Well in this case it's quite easy. You have a bunch of changes in your
>  working tree which really should be two separate commits. The index is
>  a staging area where you prepare exactly what the commit is going to
>  look like. You can either add entire files or use "git add --
>  interactive" to stage just hunks of files. When you finally do a "git
>  commit" it is the state of the index which is used to create that
>  commit; the state of the working tree has nothing to do with it at
>  that point (unless you use "git commit -a", but then you're losing the
>  benefit of the staging area).
>
>
>  >> A different notion is that of "resetting", which involves going back
>  >> to an earlier point in the history so that you can change the
>  >> commit(s). See the "git-reset" man page for details on the different
>  >> types of reset that you can do. For more complicated history
>  >> manipulation their's "rebasing" (see the man page for "git-rebase",
>  >> especially "git rebase --interactive").
>  >
>  > I've been using 'git reset --soft HEAD~1' (say) which is cool. One
>  > weird thing is that once you've done that 'git status' says there are
>  > uncommitted changes, but 'git diff' shows nothing.
>
>  Check out the "git-reset" man page. When you say --soft you are just
>  moving HEAD back in time without touching either the working tree or
>  the index. "git diff" will show nothing here because when no other
>  parameters are passed it will show you the differences between the
>  working tree and the index, and your "git reset --soft" touched
>  neither of those. See the "git-diff" manpage for info on the other
>  options; the most common combinations will be:
>
>  # show differences between working tree and index
>  # in other words, "what I could stage right now"
>  git diff
>
>  # show differences between index and head
>  # in other words, "what I have staged already"
>  git diff --cached
>
>  # show differences between working tree and head
>  # in other words, "both staged and unstaged changes"
>  git diff HEAD
>
>  I use these so often that I set up aliases for them so I can do "git
>  staged", "git unstaged", "git both", although in reality the only ones
>  I use with frequency are "git staged" and "git diff" (which is
>  equivalent to "git unstaged" but shorter to type); I am seldom
>  interested in "git both".
>
>
>
>  >
>
>  Cheers,
>  Wincent
>
>
>
>  >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Haml" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/haml?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to