git-replace.1   [plain text]


'\" t
.\"     Title: git-replace
.\"    Author: [see the "Author" section]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\"      Date: 04/06/2011
.\"    Manual: Git Manual
.\"    Source: Git 1.7.4.4
.\"  Language: English
.\"
.TH "GIT\-REPLACE" "1" "04/06/2011" "Git 1\&.7\&.4\&.4" "Git Manual"
.\" -----------------------------------------------------------------
.\" * 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 \-d <object>\&...
\fIgit replace\fR \-l [<pattern>]
.fi
.sp
.SH "DESCRIPTION"
.sp
Adds a \fIreplace\fR reference in \&.git/refs/replace/
.sp
The name of the \fIreplace\fR reference is the SHA1 of the object that is replaced\&. The content of the \fIreplace\fR reference is the SHA1 of the replacement object\&.
.sp
Unless \-f is given, the \fIreplace\fR reference must not yet exist in \&.git/refs/replace/ directory\&.
.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 use of replacement references for any command using the \-\-no\-replace\-objects 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
.sp
shows information about commit \fIfoo\fR, while:
.sp
.if n \{\
.RS 4
.\}
.nf
$ git cat\-file commit foo
.fi
.if n \{\
.RE
.\}
.sp
.sp
shows information about commit \fIbar\fR\&.
.sp
The \fIGIT_NO_REPLACE_OBJECTS\fR environment variable can be set to achieve the same effect as the \-\-no\-replace\-objects option\&.
.SH "OPTIONS"
.PP
\-f
.RS 4
If an existing replace ref for the same object exists, it will be overwritten (instead of failing)\&.
.RE
.PP
\-d
.RS 4
Delete existing replace refs for the given objects\&.
.RE
.PP
\-l <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
.SH "BUGS"
.sp
Comparing blobs or trees that have been replaced with those that replace them will not work properly\&. And using git reset \-\-hard 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\&. And of course things may break if an object of one type is replaced by an object of another type (for example a blob replaced by a commit)\&.
.SH "SEE ALSO"
.sp
\fBgit-tag\fR(1) \fBgit-branch\fR(1) \fBgit\fR(1)
.SH "AUTHOR"
.sp
Written by Christian Couder <\m[blue]\fBchriscool@tuxfamily\&.org\fR\m[]\&\s-2\u[1]\d\s+2> and Junio C Hamano <\m[blue]\fBgitster@pobox\&.com\fR\m[]\&\s-2\u[2]\d\s+2>, based on \fIgit tag\fR by Kristian Hogsberg <\m[blue]\fBkrh@redhat\&.com\fR\m[]\&\s-2\u[3]\d\s+2> and Carlos Rica <\m[blue]\fBjasampler@gmail\&.com\fR\m[]\&\s-2\u[4]\d\s+2>\&.
.SH "DOCUMENTATION"
.sp
Documentation by Christian Couder <\m[blue]\fBchriscool@tuxfamily\&.org\fR\m[]\&\s-2\u[1]\d\s+2> and the git\-list <\m[blue]\fBgit@vger\&.kernel\&.org\fR\m[]\&\s-2\u[5]\d\s+2>, based on \fIgit tag\fR documentation\&.
.SH "GIT"
.sp
Part of the \fBgit\fR(1) suite
.SH "NOTES"
.IP " 1." 4
chriscool@tuxfamily.org
.RS 4
\%mailto:chriscool@tuxfamily.org
.RE
.IP " 2." 4
gitster@pobox.com
.RS 4
\%mailto:gitster@pobox.com
.RE
.IP " 3." 4
krh@redhat.com
.RS 4
\%mailto:krh@redhat.com
.RE
.IP " 4." 4
jasampler@gmail.com
.RS 4
\%mailto:jasampler@gmail.com
.RE
.IP " 5." 4
git@vger.kernel.org
.RS 4
\%mailto:git@vger.kernel.org
.RE