summaryrefslogtreecommitdiff
path: root/doc/git-recover-repository.mdwn
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-10-21 15:28:06 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-10-21 15:28:06 -0400
commit727566ad23efc6c36a4a4473b3299af913f6ce03 (patch)
tree8dd85a47703021db232b02e47d371037cb0715c3 /doc/git-recover-repository.mdwn
parent1f7604f7d9df831012893a9ee2b4a8be20fe02ab (diff)
implemented removal of corrupt tracking branches
Oh, git, you made this so hard. Not determining if a branch pointed to some corrupt object, that was easy, but dealing with corrupt branches using git plumbing is a PITA.
Diffstat (limited to 'doc/git-recover-repository.mdwn')
-rw-r--r--doc/git-recover-repository.mdwn16
1 files changed, 13 insertions, 3 deletions
diff --git a/doc/git-recover-repository.mdwn b/doc/git-recover-repository.mdwn
index b05903d14..d4972e961 100644
--- a/doc/git-recover-repository.mdwn
+++ b/doc/git-recover-repository.mdwn
@@ -15,9 +15,19 @@ It does by deleting all corrupt objects, and retreiving all missing
objects that it can from the remotes of the repository.
If that is not sufficient to fully recover the repository, it can also
-reset branches back to commits before the corruption happened. It will only
-do this if run with the --force option, since that rewrites history
-and throws out missing data.
+reset branches back to commits before the corruption happened, and delete
+branches that are no longer available due to the lost data. It will only
+do this if run with the `--force` option, since that rewrites history
+and throws out missing data. Note that the `--force` option never touches
+tags, even if they are no longer usable due to missing data.
+
+After running this command, you will probably want to run `git fsck` to
+verify it fixed the repository. Note that fsck may still complain about
+objects referenced by the reflog, if they were unable to be recovered.
+Use `git fsck --no-reflogs` to skip such objects.
+
+Since this command unpacks all packs in the repository, you may want to
+run `git gc` afterwards.
# AUTHOR