forked from git/git
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgit-replace.1
More file actions
104 lines (104 loc) · 3.44 KB
/
git-replace.1
File metadata and controls
104 lines (104 loc) · 3.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
'\" t
.\" Title: git-replace
.\" Author: [see the "Author" section]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 09/18/2010
.\" Manual: Git Manual
.\" Source: Git 1.7.3
.\" Language: English
.\"
.TH "GIT\-REPLACE" "1" "09/18/2010" "Git 1\&.7\&.3" "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 <chriscool@tuxfamily\&.org> and Junio C Hamano <gitster@pobox\&.com>, based on \fIgit tag\fR by Kristian Hogsberg <krh@redhat\&.com> and Carlos Rica <jasampler@gmail\&.com>\&.
.SH "DOCUMENTATION"
.sp
Documentation by Christian Couder <chriscool@tuxfamily\&.org> and the git\-list <git@vger\&.kernel\&.org>, based on \fIgit tag\fR documentation\&.
.SH "GIT"
.sp
Part of the \fBgit\fR(1) suite