<commit_before>git-reset(1)
============

NAME
----
git-reset - Reset current HEAD to the specified state

SYNOPSIS
--------
[verse]
'git reset' [-q] [<commit>] [--] <paths>...
'git reset' --patch [<commit>] [--] [<paths>...]
'git reset' [--soft | --mixed | --hard | --merge | --keep] [-q] [<commit>]

DESCRIPTION
-----------
In the first and second form, copy entries from <commit> to the index.
In the third form, set the current branch head to <commit>, optionally
modifying index and worktree to match.  The <commit> defaults to HEAD
in all forms.

'git reset' [-q] [<commit>] [--] <paths>...::
	This form resets the index entries for all <paths> to their
	state at the <commit>.  (It does not affect the worktree, nor
	the current branch.)
+
This means that `git reset <paths>` is the opposite of `git add
<paths>`.

'git reset' --patch|-p [<commit>] [--] [<paths>...]::
	Interactively select hunks in the difference between the index
	and <commit> (defaults to HEAD).  The chosen hunks are applied
	in reverse to the index.
+
This means that `git reset -p` is the opposite of `git add -p` (see
linkgit:git-add[1]).

'git reset' [--<mode>] [<commit>]::
	This form resets the current branch head to <commit> and then
	updates index and working tree according to <mode>, which must
	be one of the following:
+
--
--soft::
	Does not touch the index file nor the working tree at all, but
	requires them to be in a good order. This leaves all your changed
	files "Changes to be committed", as 'git status' would
	put it.

--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.

--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> are lost.

--merge::
	Resets the index to match the tree recorded by the named commit,
	and updates the files that are different between the named commit
	and the current commit in the working tree.

--keep::
	Reset the index to the given commit, keeping local changes in
	the working tree since the current commit, while updating
	working tree files without local changes to what appears in
	the given commit.  If a file that is different between the
	current commit and the given commit has local changes, reset
	is aborted.
--
<commit_msg>git-reset.txt: reset --soft is not a no-op<commit_after>git-reset(1)
============

NAME
----
git-reset - Reset current HEAD to the specified state

SYNOPSIS
--------
[verse]
'git reset' [-q] [<commit>] [--] <paths>...
'git reset' --patch [<commit>] [--] [<paths>...]
'git reset' [--soft | --mixed | --hard | --merge | --keep] [-q] [<commit>]

DESCRIPTION
-----------
In the first and second form, copy entries from <commit> to the index.
In the third form, set the current branch head to <commit>, optionally
modifying index and worktree to match.  The <commit> defaults to HEAD
in all forms.

'git reset' [-q] [<commit>] [--] <paths>...::
	This form resets the index entries for all <paths> to their
	state at the <commit>.  (It does not affect the worktree, nor
	the current branch.)
+
This means that `git reset <paths>` is the opposite of `git add
<paths>`.

'git reset' --patch|-p [<commit>] [--] [<paths>...]::
	Interactively select hunks in the difference between the index
	and <commit> (defaults to HEAD).  The chosen hunks are applied
	in reverse to the index.
+
This means that `git reset -p` is the opposite of `git add -p` (see
linkgit:git-add[1]).

'git reset' [--<mode>] [<commit>]::
	This form resets the current branch head to <commit> and then
	updates index and working tree according to <mode>, which must
	be one of the following:
+
--
--soft::
	Does not touch the index file nor the working tree at all (but
	resets the head to <commit>, just like all modes do). This leaves
	all your changed files "Changes to be committed", as 'git status'
	would put it.

--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.

--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> are lost.

--merge::
	Resets the index to match the tree recorded by the named commit,
	and updates the files that are different between the named commit
	and the current commit in the working tree.

--keep::
	Reset the index to the given commit, keeping local changes in
	the working tree since the current commit, while updating
	working tree files without local changes to what appears in
	the given commit.  If a file that is different between the
	current commit and the given commit has local changes, reset
	is aborted.
--

{'fraction_non_alphanumeric': 0.11417971970321517, 'fraction_numerical': 0.0008244023083264633, 'mean_word_length': 3.476937269372694, 'pattern_counts': {'":': 0, '<': 48, '<?xml version=': 0, '>': 48, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1177605', 'n_tokens_mistral': 1446, 'n_tokens_neox': 1383, 'n_words': 752}