Re: EasyGit Integration
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Jun 12, 2009, 22:05 UTC
- Message-ID
- <200906130005.20790.jnareb@gmail.com>
- In-Reply-To
- <94a0d4530906121448m57f272eej32e8d57e48002f1f@mail.gmail.com>
On Fri, 12 Jun 2009, Felipe Contreras wrote:
> On Sat, Jun 13, 2009 at 12:21 AM, Jakub Narebski<jnareb@gmail.com> wrote:
Show 16 quoted lines
>> Nope. 'git reset' always reset some part of state to a given commit, >> HEAD by default. It can reset current branch with --soft, branch plus >> index with --mixed (default), and branch plus index plus working >> directory with --hard. Source is always commit. > > You said it: 'git reset --hard' gets something out of the repository > and into the working directory. > > Try this: > git checkout <random sha-1 with no ref> > > Then what is the difference between: > git checkout HEAD^ > git reset --hard HEAD^ > > In this case they do exactly the same thing, don't they?
No, they don't. "git checkout HEAD^" modifies HEAD detaching it. "git reset --hard HEAD^" modifies branch that HEAD points to (well, unless HEAD is detached).
-- Jakub Narebski Poland