This causes cgit to serve error pages, which is undesirable. This reverts commit5229c9b232, reversing changes made tof2b211131f.
		
			
				
	
	
		
			161 lines
		
	
	
	
		
			5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			161 lines
		
	
	
	
		
			5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| git-replace(1)
 | |
| ==============
 | |
| 
 | |
| NAME
 | |
| ----
 | |
| git-replace - Create, list, delete refs to replace objects
 | |
| 
 | |
| SYNOPSIS
 | |
| --------
 | |
| [verse]
 | |
| 'git replace' [-f] <object> <replacement>
 | |
| 'git replace' [-f] --edit <object>
 | |
| 'git replace' [-f] --graft <commit> [<parent>...]
 | |
| 'git replace' [-f] --convert-graft-file
 | |
| 'git replace' -d <object>...
 | |
| 'git replace' [--format=<format>] [-l [<pattern>]]
 | |
| 
 | |
| DESCRIPTION
 | |
| -----------
 | |
| Adds a 'replace' reference in `refs/replace/` namespace.
 | |
| 
 | |
| The name of the 'replace' reference is the SHA-1 of the object that is
 | |
| replaced. The content of the 'replace' reference is the SHA-1 of the
 | |
| replacement object.
 | |
| 
 | |
| The replaced object and the replacement object must be of the same type.
 | |
| This restriction can be bypassed using `-f`.
 | |
| 
 | |
| Unless `-f` is given, the 'replace' reference must not yet exist.
 | |
| 
 | |
| There is no other restriction on the replaced and replacement objects.
 | |
| Merge commits can be replaced by non-merge commits and vice versa.
 | |
| 
 | |
| Replacement references will be used by default by all Git commands
 | |
| except those doing reachability traversal (prune, pack transfer and
 | |
| fsck).
 | |
| 
 | |
| It is possible to disable use of replacement references for any
 | |
| command using the `--no-replace-objects` option just after 'git'.
 | |
| 
 | |
| For example if commit 'foo' has been replaced by commit 'bar':
 | |
| 
 | |
| ------------------------------------------------
 | |
| $ git --no-replace-objects cat-file commit foo
 | |
| ------------------------------------------------
 | |
| 
 | |
| shows information about commit 'foo', while:
 | |
| 
 | |
| ------------------------------------------------
 | |
| $ git cat-file commit foo
 | |
| ------------------------------------------------
 | |
| 
 | |
| shows information about commit 'bar'.
 | |
| 
 | |
| The `GIT_NO_REPLACE_OBJECTS` environment variable can be set to
 | |
| achieve the same effect as the `--no-replace-objects` option.
 | |
| 
 | |
| OPTIONS
 | |
| -------
 | |
| -f::
 | |
| --force::
 | |
| 	If an existing replace ref for the same object exists, it will
 | |
| 	be overwritten (instead of failing).
 | |
| 
 | |
| -d::
 | |
| --delete::
 | |
| 	Delete existing replace refs for the given objects.
 | |
| 
 | |
| --edit <object>::
 | |
| 	Edit an object's 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 linkgit:git-var[1] for details about
 | |
| 	how the editor will be chosen.
 | |
| 
 | |
| --raw::
 | |
| 	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.
 | |
| 
 | |
| --graft <commit> [<parent>...]::
 | |
| 	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>'s parents. A replacement ref
 | |
| 	is then created to replace <commit> with the newly created
 | |
| 	commit. Use `--convert-graft-file` to convert a
 | |
| 	`$GIT_DIR/info/grafts` file and use replace refs instead.
 | |
| 
 | |
| --convert-graft-file::
 | |
| 	Creates graft commits for all entries in `$GIT_DIR/info/grafts`
 | |
| 	and deletes that file upon success. The purpose is to help users
 | |
| 	with transitioning off of the now-deprecated graft file.
 | |
| 
 | |
| -l <pattern>::
 | |
| --list <pattern>::
 | |
| 	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.
 | |
| 
 | |
| --format=<format>::
 | |
| 	When listing, use the specified <format>, which can be one of
 | |
| 	'short', 'medium' and 'long'. When omitted, the format
 | |
| 	defaults to 'short'.
 | |
| 
 | |
| FORMATS
 | |
| -------
 | |
| 
 | |
| The following format are available:
 | |
| 
 | |
| * 'short':
 | |
| 	<replaced sha1>
 | |
| * 'medium':
 | |
| 	<replaced sha1> -> <replacement sha1>
 | |
| * 'long':
 | |
| 	<replaced sha1> (<replaced type>) -> <replacement sha1> (<replacement type>)
 | |
| 
 | |
| CREATING REPLACEMENT OBJECTS
 | |
| ----------------------------
 | |
| 
 | |
| linkgit:git-filter-branch[1], linkgit:git-hash-object[1] and
 | |
| linkgit:git-rebase[1], among other git commands, can be used to create
 | |
| replacement objects from existing objects. The `--edit` option can
 | |
| also be used with 'git replace' to create a replacement object by
 | |
| editing an existing object.
 | |
| 
 | |
| 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.
 | |
| 
 | |
| BUGS
 | |
| ----
 | |
| 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.
 | |
| 
 | |
| There may be other problems when using 'git rev-list' related to
 | |
| pending objects.
 | |
| 
 | |
| SEE ALSO
 | |
| --------
 | |
| linkgit:git-hash-object[1]
 | |
| linkgit:git-filter-branch[1]
 | |
| linkgit:git-rebase[1]
 | |
| linkgit:git-tag[1]
 | |
| linkgit:git-branch[1]
 | |
| linkgit:git-commit[1]
 | |
| linkgit:git-var[1]
 | |
| linkgit:git[1]
 | |
| 
 | |
| GIT
 | |
| ---
 | |
| Part of the linkgit:git[1] suite
 |