# git-replace(1) Manual Page

## NAME

git-replace - Create, list, delete refs to replace objects

## SYNOPSIS

git replace [-f] <object> <replacement> git replace -d <object>… git replace -l [<pattern>]

## DESCRIPTION

Adds a replace reference in `.git/refs/replace/`

The name of the replace reference is the SHA1 of the object that is replaced. The content of the replace reference is the SHA1 of the replacement object.

Unless `-f` is given, the replace reference must not yet exist in `.git/refs/replace/` directory.

## OPTIONS

-f

  If an existing replace ref for the same object exists, it will be overwritten (instead of failing).

-d

  Delete existing replace refs for the given objects.

-l <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.

## 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. 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).

## SEE ALSO

git-tag(1) git-branch(1)

## Author

Written by Christian Couder <chriscool@tuxfamily.org> and Junio C Hamano <gitster@pobox.com>, based on git tag by Kristian Hogsberg <krh@redhat.com> and Carlos Rica <jasampler@gmail.com>.

## Documentation

Documentation by Christian Couder <chriscool@tuxfamily.org> and the git-list <git@vger.kernel.org>, based on git tag documentation.

## GIT

Part of the git(1) suite