Re: EasyGit Integration
On Sat, Jun 13, 2009 at 1:05 AM, Jakub Narebski<jnareb@gmail.com> wrote:
Show 23 quoted lines
> On Fri, 12 Jun 2009, Felipe Contreras wrote:
>> On Sat, Jun 13, 2009 at 12:21 AM, Jakub Narebski<jnareb@gmail.com> wrote:
>
>>> 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).
>> git checkout <random sha-1 with no ref>
The HEAD is detached, so they do exactly the same in this case.
--
Felipe Contreras