threads / discuss / 24549

removing very old commits (including initial)

Subject: removing very old commits (including initial)

## tl;dr

3 messages between Jul 28, 2010 and Jul 28, 2010.

replies: 2people: 3as markdown or json

Mihamina Rakotomandimby· Jul 28, 2010, 08:53 UTC · lore
Manao ahoana, Hello, Bonjour,

I work on a personnal project that become a little bit bigger over the time. Initially, it was a single file one, and that file contained database credentials. Later, I splat the project and put the credentials in another untracked file (.gitignore). When I want to publish this project, the history contains the initial file, with the credentials. I dont want to publish that.

It's not a problem to definitely wipe the "single file" part of history of this project, but interesting to keep the history after the split&untracking.

How to? Publishing will be through gitweb.

Misaotra, Thanks, Merci.
-- 
       Architecte Informatique chez Blueline/Gulfsat:
    Administration Systeme, Recherche & Developpement
                                    +261 34 56 000 19
Ævar Arnfjörð Bjarmason· Jul 28, 2010, 09:10 UTC · re: Mihamina Rakotomandimby · lore

Re: removing very old commits (including initial)

On Wed, Jul 28, 2010 at 08:53, Mihamina Rakotomandimby <mihamina@gulfsat.mg> wrote:

> It's not a problem to definitely wipe the "single file" part of history
> of this project, but interesting to keep the history after the
> split&untracking.
git-filter-branch(1) will do everything you need.
Santi Béjar· Jul 28, 2010, 09:10 UTC · re: Mihamina Rakotomandimby · lore

Re: removing very old commits (including initial)

On Wed, Jul 28, 2010 at 10:53 AM, Mihamina Rakotomandimby <mihamina@gulfsat.mg> wrote:

Show 14 quoted lines
> Manao ahoana, Hello, Bonjour,
>
> I work on a personnal project that become a little bit bigger over the
> time.
> Initially, it was a single file one, and that file contained database
> credentials.
> Later, I splat the project and put the credentials in another untracked
> file (.gitignore).
> When I want to publish this project, the history contains the initial
> file, with the credentials. I dont want to publish that.
>
> It's not a problem to definitely wipe the "single file" part of history
> of this project, but interesting to keep the history after the
> split&untracking.

If I understand you correctly you want to publish only the commits since a particular commit, say "newroot". You can do it with "git filter-branch". You have many different filters, but in you case I would you grafts to cut the history and the rewrite the history with git filter-branch.

In .git/info/grafts you put something like this: HashOfTheNewRoot

It means that this commit has no parent, so you are cutting the history. You can examine the history with git log or gitk to check everything looks fine. To make it definitive you have to execute git filter-branch:

$ git filter-branch -- --all
--all in this case means all the refs.

HTH, Santi

Show 16 quoted lines
>
> How to?
> Publishing will be through gitweb.
>
> Misaotra, Thanks, Merci.
>
> --
>
>       Architecte Informatique chez Blueline/Gulfsat:
>    Administration Systeme, Recherche & Developpement
>                                    +261 34 56 000 19
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

← back to recent threads