'\" t
.\"     Title: git-replace
.\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets v1.79.2 <http://docbook.sf.net/>
.\"      Date: 2025-10-07
.\"    Manual: Git Manual
.\"    Source: Git 2.51.0.463.g79cf913ea9
.\"  Language: English
.\"
.TH "GIT\-REPLACE" "1" "2025-10-07" "Git 2\&.51\&.0\&.463\&.g79cf91" "Git Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
git-replace \- Create, list, delete refs to replace objects
.SH "SYNOPSIS"
.sp
.nf
\fIgit replace\fR [\-f] <object> <replacement>
\fIgit replace\fR [\-f] \-\-edit <object>
\fIgit replace\fR [\-f] \-\-graft <commit> [<parent>\&...\:]
\fIgit replace\fR [\-f] \-\-convert\-graft\-file
\fIgit replace\fR \-d <object>\&...\:
\fIgit replace\fR [\-\-format=<format>] [\-l [<pattern>]]
.fi
.SH "DESCRIPTION"
.sp
Adds a \fIreplace\fR reference in \fBrefs/replace/\fR namespace\&.
.sp
The name of the \fIreplace\fR reference is the SHA\-1 of the object that is replaced\&. The content of the \fIreplace\fR reference is the SHA\-1 of the replacement object\&.
.sp
The replaced object and the replacement object must be of the same type\&. This restriction can be bypassed using \fB\-f\fR\&.
.sp
Unless \fB\-f\fR is given, the \fIreplace\fR reference must not yet exist\&.
.sp
There is no other restriction on the replaced and replacement objects\&. Merge commits can be replaced by non\-merge commits and vice versa\&.
.sp
Replacement references will be used by default by all Git commands except those doing reachability traversal (prune, pack transfer and fsck)\&.
.sp
It is possible to disable the use of replacement references for any command using the \fB\-\-no\-replace\-objects\fR option just after \fIgit\fR\&.
.sp
For example if commit \fIfoo\fR has been replaced by commit \fIbar\fR:
.sp
.if n \{\
.RS 4
.\}
.nf
$ git \-\-no\-replace\-objects cat\-file commit foo
.fi
.if n \{\
.RE
.\}
.sp
shows information about commit \fIfoo\fR, while:
.sp
.if n \{\
.RS 4
.\}
.nf
$ git cat\-file commit foo
.fi
.if n \{\
.RE
.\}
.sp
shows information about commit \fIbar\fR\&.
.sp
The \fBGIT_NO_REPLACE_OBJECTS\fR environment variable can be set to achieve the same effect as the \fB\-\-no\-replace\-objects\fR option\&.
.SH "OPTIONS"
.PP
\-f, \-\-force
.RS 4
If an existing replace ref for the same object exists, it will be overwritten (instead of failing)\&.
.RE
.PP
\-d, \-\-delete
.RS 4
Delete existing replace refs for the given objects\&.
.RE
.PP
\-\-edit <object>
.RS 4
Edit an object\(cqs content interactively\&. The existing content for <object> is pretty\-printed into a temporary file, an editor is launched on the file, and the result is parsed to create a new object of the same type as <object>\&. A replacement ref is then created to replace <object> with the newly created object\&. See
\fBgit-var\fR(1)
for details about how the editor will be chosen\&.
.RE
.PP
\-\-raw
.RS 4
When editing, provide the raw object contents rather than pretty\-printed ones\&. Currently this only affects trees, which will be shown in their binary form\&. This is harder to work with, but can help when repairing a tree that is so corrupted it cannot be pretty\-printed\&. Note that you may need to configure your editor to cleanly read and write binary data\&.
.RE
.PP
\-\-graft <commit> [<parent>\&...\:]
.RS 4
Create a graft commit\&. A new commit is created with the same content as <commit> except that its parents will be [<parent>\&...\:] instead of <commit>\*(Aqs parents\&. A replacement ref is then created to replace <commit> with the newly created commit\&. Use
\fB\-\-convert\-graft\-file\fR
to convert a
\fB$GIT_DIR/info/grafts\fR
file and use replace refs instead\&.
.RE
.PP
\-\-convert\-graft\-file
.RS 4
Creates graft commits for all entries in
\fB$GIT_DIR/info/grafts\fR
and deletes that file upon success\&. The purpose is to help users with transitioning off of the now\-deprecated graft file\&.
.RE
.PP
\-l <pattern>, \-\-list <pattern>
.RS 4
List replace refs for objects that match the given pattern (or all if no pattern is given)\&. Typing "git replace" without arguments, also lists all replace refs\&.
.RE
.PP
\-\-format=<format>
.RS 4
When listing, use the specified <format>, which can be one of
\fIshort\fR,
\fImedium\fR
and
\fIlong\fR\&. When omitted, the format defaults to
\fIshort\fR\&.
.RE
.SH "FORMATS"
.sp
The following formats are available:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fIshort\fR: <replaced\-sha1>
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fImedium\fR: <replaced\-sha1> \(-> <replacement\-sha1>
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fIlong\fR: <replaced\-sha1> (<replaced\-type>) \(-> <replacement\-sha1> (<replacement\-type>)
.RE
.SH "CREATING REPLACEMENT OBJECTS"
.sp
\fBgit-hash-object\fR(1), \fBgit-rebase\fR(1), and \m[blue]\fBgit\-filter\-repo\fR\m[]\&\s-2\u[1]\d\s+2, among other git commands, can be used to create replacement objects from existing objects\&. The \fB\-\-edit\fR option can also be used with \fIgit replace\fR to create a replacement object by editing an existing object\&.
.sp
If you want to replace many blobs, trees or commits that are part of a string of commits, you may just want to create a replacement string of commits and then only replace the commit at the tip of the target string of commits with the commit at the tip of the replacement string of commits\&.
.SH "BUGS"
.sp
Comparing blobs or trees that have been replaced with those that replace them will not work properly\&. And using \fBgit\fR \fBreset\fR \fB\-\-hard\fR to go back to a replaced commit will move the branch to the replacement commit instead of the replaced commit\&.
.sp
There may be other problems when using \fIgit rev\-list\fR related to pending objects\&.
.SH "SEE ALSO"
.sp
\fBgit-hash-object\fR(1) \fBgit-rebase\fR(1) \fBgit-tag\fR(1) \fBgit-branch\fR(1) \fBgit-commit\fR(1) \fBgit-var\fR(1) \fBgit\fR(1) \m[blue]\fBgit\-filter\-repo\fR\m[]\&\s-2\u[1]\d\s+2
.SH "GIT"
.sp
Part of the \fBgit\fR(1) suite
.SH "NOTES"
.IP " 1." 4
git-filter-repo
.RS 4
\%https://github.com/newren/git-filter-repo
.RE
