threads / discuss / 38186

confusion with some `git reset` commands

Subject: confusion with some `git reset` commands

## tl;dr

4 messages between Dec 16, 2014 and Dec 18, 2014.

replies: 3people: 4as markdown or json

Arup Rakshit· Dec 16, 2014, 18:39 UTC · lore
Hi,
>From the command help I see - 
[arup@to_do_app]$ git reset -h
usage: git reset [--mixed | --soft | --hard | --merge | --keep] [-q] 
[<commit>]
   or: git reset [-q] <tree-ish> [--] <paths>...
   or: git reset --patch [<tree-ish>] [--] [<paths>...]
    -q, --quiet           be quiet, only report errors
    --mixed               reset HEAD and index
    --soft                reset only HEAD
    --hard                reset HEAD, index and working tree
    --merge               reset HEAD, index and working tree
    --keep                reset HEAD but keep local changes
    -p, --patch           select hunks interactively
But I am looking for any differences -

a) git reset --soft and git reset --keep b) git reset --hard and git reset --merge

-- 
================
Regards,
Arup Rakshit
================
Debugging is twice as hard as writing the code in the first place. Therefore, 
if you write the code as cleverly as possible, you are, by definition, not 
smart enough to debug it.

--Brian Kernighan
Kevin· Dec 18, 2014, 08:23 UTC · re: Arup Rakshit · lore

Re: confusion with some `git reset` commands

On Tue, Dec 16, 2014 at 7:39 PM, Arup Rakshit <aruprakshit@rocketmail.com> wrote:

Show 6 quoted lines
> Hi,
> ..
>
> But I am looking for any differences -
>
> a) git reset --soft and git reset --keep

git reset --keep is a safer version of git reset --hard. It will reset the working tree. but will abort when it has to overwrite uncomitted changes.

> b) git reset --hard and git reset --merge

git reset --merge does the same as hard, but keeps unstaged changes. When unstaged changes would need to be overwritted, it also aborts.

Christian Couder· Dec 18, 2014, 08:38 UTC · re: Kevin · lore

Re: confusion with some `git reset` commands

> On Tue, Dec 16, 2014 at 7:39 PM, Arup Rakshit
> <aruprakshit@rocketmail.com> wrote:
>> From the command help I see -
>>
>> [arup@to_do_app]$ git reset -h

You can also use "git help reset" to have the full man page. It has a lot more information.

>> But I am looking for any differences -
Do you have some use cases in mind?

Best, Christian.

Konstantin Khomoutov· Dec 18, 2014, 12:09 UTC · re: Arup Rakshit · lore

Re: confusion with some `git reset` commands

On Wed, 17 Dec 2014 01:09:08 +0630 Arup Rakshit <aruprakshit@rocketmail.com> wrote:

[...]
> But I am looking for any differences -
> 
> a) git reset --soft and git reset --keep
> b) git reset --hard and git reset --merge

Please consider reading http://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified

← back to recent threads