From: Johannes Sixt Date: Thu, 06 May 2010 06:45:49 GMT Subject: Re: how to squash a few commits in the past Message-ID: <4BE2659D.2070208@viscovery.net> In-Reply-To: Am 5/3/2010 11:33, schrieb Gelonida: > One of the team members accidentally commited a very huge file together with > some useful sources. > a few commits later he noticed his error and removed the huge file. > > The plan would be: > - create a new git repository without the huge file > - let everybody clone the new repository and continue working. Use 'git filter-branch': git filter-branch \ --index-filter 'git rm --ignore-unmatch --cached the/huge/file' \ --prune-empty \ -- --all The --prune-empty removes the commit that removed the file from the history if the removal of the/huge/file was the only thing it did. If you have tags that must be rewritten, add "--tag-name-filter cat" to the command before "--". Try this in a backup copy or clone first! -- Hannes