Stacked Git logo

Stacked Git

stg-refresh(1)

NAME

stg-refresh - Incorporate worktree changes into current patch

SYNOPSIS

stg refresh [OPTIONS] [--] [path]…​

DESCRIPTION

Include the latest work tree and index changes in the current patch. This command generates a new git commit object for the patch; the old commit is no longer visible.

Refresh will warn if the index is dirty, and require use of either the --index or --force options to override this check. This is to prevent accidental full refresh when only some changes were staged using git add interative mode.

You may optionally list one or more files or directories relative to the current working directory; if you do, only matching files will be updated.

Behind the scenes, stg refresh first creates a new temporary patch with your updates, and then merges that patch into the patch you asked to have refreshed. If you asked to refresh a patch other than the topmost patch, there can be conflicts; in that case, the temporary patch will be left for you to take care of, for example with stg squash.

The creation of the temporary patch is recorded in a separate entry in the patch stack log; this means that one undo step will undo the merge between the other patch and the temp patch, and two undo steps will additionally get rid of the temp patch.

OPTIONS

-u
--update

Only update the current patch files

-i
--index

Instead of setting the patch top to the current contents of the worktree, set it to the current contents of the index.

-F
--force

Instead of warning the user when some work has already been staged (such as with git add interactive mode) force a full refresh.

-p <patch>
--patch=<patch>

Refresh (applied) <patch> instead of the top patch

-a <note>
--annotate=<note>

Annotate the patch log entry with <note>

-s
--submodules

Include submodules in patch content

--no-submodules

Exclude submodules in patch content

-e
--edit

Invoke editor for patch description

-d
--diff

Show diff when editing patch description

-m <message>
--message=<message>

Use message instead of invoking the editor

-f <path>
--file=<path>

Use the contents of file instead of invoking the editor. Use "-" to read from stdin.

--no-verify

Disable commit-msg hook

--signoff[=<value>]

Add "Signed-off-by" message trailer.

The value is optional and defaults to the committer name and email. This option may be provided multiple times.

--ack[=<value>]

Add "Acked-by" message trailer.

The value is optional and defaults to the committer’s name and email. This option may be provided multiple times.

--review[=<value>]

Add "Reviewed-by" message trailer.

The value is optional and defaults to the committer’s name and email. This option may be provided multiple times.

--author=<name-and-email>

Set the author "name <email>"

--authname=<name>

Set the author name

--authemail=<email>

Set the author email

--authdate=<date>

Set the date the patch was authored.

Use "now" to use the current time and date.

StGit

Part of the StGit suite - see stg(1)