From: Axel Freyn <axel-freyn@gmx.de>
To: git@vger.kernel.org
Subject: Re: 500Mb file erroneously commited
Date: Mon, 6 Jun 2011 09:55:08 +0200 [thread overview]
Message-ID: <20110606075508.GC19127@axel> (raw)
In-Reply-To: <loom.20110606T093627-918@post.gmane.org>
On Mon, Jun 06, 2011 at 07:43:20AM +0000, Bartolomeo Nicolotti wrote:
> Hello,
>
> we're using CVS to store some sources, but for some big projects I'm considering
> to use git. Last week it has happened that one collegue erroneously commited one
> big file, 500Mb the file only. To avoid to have this file in the repository
> we've deleted the history file in the CVS repository, the one with ,v, this has
> been easy as each file has its own history. Would it be possible to do the same
> with git, or there's no possibility to delete a 500Mb file erroneously commited?
Hi,
yes, you can. In fact, there are at least two situation:
- if you detect the error DIRECTLY after the commit (and have no other
commits on top of it), then a
git rm bigfile
git commit --amend
does the trick (well, the big file will be unused now, and be deleted
by the next "git gc")
- if you have already other commit's on top of it, you can use e.g.
"git rebase" in order to redefine the history... something like (I'm
not sure it works exactly like that, but in principle)
git checkout -b tmp <WRONG_COMMIT>
git rm bigfile
git commit --amend
git checkout master
git rebase tmpfix
git branch -d tmpfix
However, there if your tree has been already shared with other
developers, they also will have to change to the new and corrected
branch.
Axel
next prev parent reply other threads:[~2011-06-06 7:55 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-06 7:43 500Mb file erroneously commited Bartolomeo Nicolotti
2011-06-06 7:51 ` Michael J Gruber
2011-06-06 7:55 ` Axel Freyn [this message]
2011-06-06 9:10 ` Matthieu Moy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110606075508.GC19127@axel \
--to=axel-freyn@gmx.de \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox