git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Parkins <andyparkins@gmail.com>
To: git@vger.kernel.org
Subject: Re: Restore a single file in the index back to HEAD
Date: Wed, 1 Nov 2006 21:18:10 +0000	[thread overview]
Message-ID: <200611012118.11558.andyparkins@gmail.com> (raw)
In-Reply-To: <7vbqnq51v4.fsf@assigned-by-dhcp.cox.net>

On Wednesday 2006, November 01 20:49, Junio C Hamano wrote:

> >> 	git-reset [--hard | --mixed] HEAD^ oops/file1
> While that perfect makes sense from mechanical point of view, I
> am not sure what it _means_ to keep some paths from now
> abandoned future while having some other paths reset to the
> rewound commit, from the point of view of end-user operation.

Isn't that exactly what the user would be asking for when they are doing a 
per-file reset?  This is a contrived example as git makes it easier to do it 
in far more sensible ways; but I've done this before now in subversion...  
What if I want to try out some radical change?  It goes like this:

x --- y --- z

Where x is some stable commit; y is a load of crazy changes; we discover that 
the crazy changes are all fine except for one, and so want to rollback one 
file, without yet commiting:

 git-reset --hard HEAD^ frotz

Git would get frotz from HEAD^ and write it to the working directory and the 
index (or just index with --mixed).

> In other words, I do not have a good explanation on what "git
> reset [--hard|--mixed] <commit> <path>..." does that I can write
> in the documentation.

 --mixed
   Resets the index but not the working tree (i.e., the changed files are
   preserved but not marked for commit) and reports what has not been
   updated. This is the default action.  If <path> is given then only that
   path will be reset to the state that <path> had in <commit-ish>.  The
   working tree will be untouched.

 --hard
   Matches the working tree and index to that of the tree being switched to.
   Any changes to tracked files in the working tree since <commit-ish> are
   lost.  If <path> is given then only that path will be reset in both the
   working tree and the index to the state that <path> had in <commit-ish>.

> Well, now I am not sure of anything anymore ;-).

I do hope I'm not being presumptuous with all the above.  I feel a bit gobby 
spouting off like I know what I'm talking about.  Especially as I wrote 
absolutely no part of git whatsoever :-)


Andy
-- 
Dr Andrew Parkins, M Eng (Hons), AMIEE

  reply	other threads:[~2006-11-01 21:21 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-26 15:41 Restore a single file in the index back to HEAD Andy Parkins
2006-10-26 15:42 ` Alex Riesen
2006-10-27  7:27   ` Andy Parkins
2006-10-27  7:38     ` Shawn Pearce
2006-10-27  8:01       ` Andy Parkins
2006-10-27  8:08       ` Andreas Ericsson
2006-10-27  8:15         ` Shawn Pearce
2006-10-27  9:45           ` Alex Riesen
2006-10-27  9:50             ` Andreas Ericsson
2006-10-27 10:02               ` Junio C Hamano
2006-10-27 17:45                 ` Luben Tuikov
2006-11-01  7:58                 ` Nguyen Thai Ngoc Duy
2006-11-01  8:07                   ` Junio C Hamano
2006-11-01  8:34                     ` Junio C Hamano
2006-11-01  9:09                       ` Nguyen Thai Ngoc Duy
2006-11-01 11:22                         ` Jakub Narebski
2006-11-01  9:38                       ` Jakub Narebski
2006-11-01  8:39                     ` Andy Parkins
2006-11-01  8:56                       ` Junio C Hamano
2006-11-01  9:53                         ` Andy Parkins
2006-11-01 18:28                           ` Junio C Hamano
2006-11-01 20:29                             ` Andy Parkins
2006-11-01 20:49                               ` Junio C Hamano
2006-11-01 21:18                                 ` Andy Parkins [this message]
2006-11-01 22:08                                   ` Junio C Hamano
2006-11-01 23:09                                     ` Andy Parkins
2006-11-01 23:39                                       ` Junio C Hamano
2006-11-02  8:44                                         ` Andy Parkins
2006-11-01 22:27                                 ` Robin Rosenberg
2006-11-02 12:47                                 ` Salikh Zakirov
2006-10-27  9:03 ` [PATCH] Added description for inverting git-update-index using --index-info Andy Parkins

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200611012118.11558.andyparkins@gmail.com \
    --to=andyparkins@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).