gitリポジトリから古い履歴を削除するにはどうすればよいですか?

舗装

この特定のシナリオのようなものを見つけることができなかったのではないかと思います。

私は多くの歴史を持つgitリポジトリを持っています:500以上のブランチ、500以上のタグ、2007年半ばにさかのぼります。約19,500のコミットが含まれています。2010年1月1日より前のすべての履歴を削除して、より小さく、扱いやすくしたいと思います(履歴の完全なコピーをアーカイブリポジトリに保持します)。

新しいリポジトリのルートになりたいというコミットを知っています。ただし、そのコミットで開始するようにリポジトリを切り捨てるための正しいgitmojoを見つけることはできません。私はいくつかの変種を推測しています

git filter-branch

移植片を含むことが必要になるでしょう。また、保持したい200以上のブランチのそれぞれを個別に処理してから、レポにパッチを適用する必要がある場合もあります(私知っている方法です)。

誰かがこのようなことをしたことがありますか?それが重要な場合、私はgit1.7.2.3を持っています。

apenwarr

ただ、作成グラフト(実際のルートは、リポジトリのコミット例えば、または空にコミットする)なし親にコミットする新しいルートの親のを。例えばecho "<NEW-ROOT-SHA1>" > .git/info/grafts

移植片を作成した後、それはすぐに有効になります。git log不要な古いコミットがなくなったことを確認して確認できるはずです。

$ echo 4a46bc886318679d8b15e05aea40b83ff6c3bd47 > .git/info/grafts
$ git log --decorate | tail --lines=11
commit cb3da2d4d8c3378919844b29e815bfd5fdc0210c
Author: Your Name <[email protected]>
Date:   Fri May 24 14:04:10 2013 +0200

    Another message

commit 4a46bc886318679d8b15e05aea40b83ff6c3bd47 (grafted)
Author: Your Name <[email protected]>
Date:   Thu May 23 22:27:48 2013 +0200

    Some message

すべてが意図したとおりに見える場合は、単純git filter-branch -- --allに実行して永続的にすることができます

用心:やった後、フィルタ分岐ステップを、すべてのIDをコミットが変更されていますので、古いレポを使用して誰もが新しいレポを使用して、誰との合併はなりません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Gitリポジトリのコミット履歴から大きなファイルを削除/削除するにはどうすればよいですか?

分類Dev

単一のファイルの履歴を古いGitリポジトリから新しいリポジトリにコピーするにはどうすればよいですか?

分類Dev

履歴のあるSVNリポジトリを新しいGitリポジトリに移行するにはどうすればよいですか?

分類Dev

Google Chromeから古い履歴を削除するにはどうすればよいですか?

分類Dev

リポジトリがすでに2GBに非常に近い場合、すべてのビットバケットgit履歴からバイナリファイルを削除するにはどうすればよいですか?

分類Dev

gitで、特定のコミットを履歴(リベース)からプログラムで削除/削除するにはどうすればよいですか?

分類Dev

gitリポジトリのサブディレクトリのgitログ履歴を表示するにはどうすればよいですか?

分類Dev

コミット履歴を保持しながらgitリポジトリを元に戻すにはどうすればよいですか?

分類Dev

Gitリポジトリの履歴をサブディレクトリに再生するにはどうすればよいですか?

分類Dev

異なるgit履歴を異なるリポジトリにプッシュするにはどうすればよいでしょうか?

分類Dev

ファイル履歴を壊さずに複数のGitリポジトリを組み合わせるにはどうすればよいですか?

分類Dev

MacのPythonスクリプトでbash履歴を削除するにはどうすればよいですか?

分類Dev

Git:マージされたコミットを履歴メッセージから削除するにはどうすればよいですか?

分類Dev

コミットを削除するにはどうすればよいですか?それはgit履歴から変更されますか?

分類Dev

「hgログ」を古いリポジトリから新しいリポジトリに転送するにはどうすればよいですか?

分類Dev

Git-リポジトリから削除せずにリポジトリのファイルを無視するにはどうすればよいですか?

分類Dev

あるgit履歴を別のgit履歴に追加するにはどうすればよいですか?

分類Dev

GitでWebプロジェクトのリリース履歴を記録するにはどうすればよいですか?

分類Dev

Gitのコミット履歴からComposer作成者リストを生成するにはどうすればよいですか?

分類Dev

魚の殻のコマンド履歴からエントリを削除するにはどうすればよいですか?

分類Dev

FirefoxのURL履歴から多数のエントリを削除するにはどうすればよいですか?

分類Dev

履歴を保持しながら、リモートリポジトリからの変更を使用してローカルリポジトリを強制的に上書きするにはどうすればよいですか?

分類Dev

Azure DevOpsでGitリポジトリを削除するにはどうすればよいですか?

分類Dev

ブランチ内に同じコードがあるが履歴が異なる2つのgitリポジトリからのコードを統合するにはどうすればよいですか?

分類Dev

SmartGitからリポジトリを削除するにはどうすればよいですか?

分類Dev

CUPSプリンターのジョブ履歴を表示するにはどうすればよいですか?

分類Dev

ArangoDB のリビジョン履歴を照会するにはどうすればよいですか?

分類Dev

変更をコミットせずにgit履歴からファイルを削除するにはどうすればよいですか?

分類Dev

git bashから直接githubリポジトリを作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    Gitリポジトリのコミット履歴から大きなファイルを削除/削除するにはどうすればよいですか?

  2. 2

    単一のファイルの履歴を古いGitリポジトリから新しいリポジトリにコピーするにはどうすればよいですか?

  3. 3

    履歴のあるSVNリポジトリを新しいGitリポジトリに移行するにはどうすればよいですか?

  4. 4

    Google Chromeから古い履歴を削除するにはどうすればよいですか?

  5. 5

    リポジトリがすでに2GBに非常に近い場合、すべてのビットバケットgit履歴からバイナリファイルを削除するにはどうすればよいですか?

  6. 6

    gitで、特定のコミットを履歴(リベース)からプログラムで削除/削除するにはどうすればよいですか?

  7. 7

    gitリポジトリのサブディレクトリのgitログ履歴を表示するにはどうすればよいですか?

  8. 8

    コミット履歴を保持しながらgitリポジトリを元に戻すにはどうすればよいですか?

  9. 9

    Gitリポジトリの履歴をサブディレクトリに再生するにはどうすればよいですか?

  10. 10

    異なるgit履歴を異なるリポジトリにプッシュするにはどうすればよいでしょうか?

  11. 11

    ファイル履歴を壊さずに複数のGitリポジトリを組み合わせるにはどうすればよいですか?

  12. 12

    MacのPythonスクリプトでbash履歴を削除するにはどうすればよいですか?

  13. 13

    Git:マージされたコミットを履歴メッセージから削除するにはどうすればよいですか?

  14. 14

    コミットを削除するにはどうすればよいですか?それはgit履歴から変更されますか?

  15. 15

    「hgログ」を古いリポジトリから新しいリポジトリに転送するにはどうすればよいですか?

  16. 16

    Git-リポジトリから削除せずにリポジトリのファイルを無視するにはどうすればよいですか?

  17. 17

    あるgit履歴を別のgit履歴に追加するにはどうすればよいですか?

  18. 18

    GitでWebプロジェクトのリリース履歴を記録するにはどうすればよいですか?

  19. 19

    Gitのコミット履歴からComposer作成者リストを生成するにはどうすればよいですか?

  20. 20

    魚の殻のコマンド履歴からエントリを削除するにはどうすればよいですか?

  21. 21

    FirefoxのURL履歴から多数のエントリを削除するにはどうすればよいですか?

  22. 22

    履歴を保持しながら、リモートリポジトリからの変更を使用してローカルリポジトリを強制的に上書きするにはどうすればよいですか?

  23. 23

    Azure DevOpsでGitリポジトリを削除するにはどうすればよいですか?

  24. 24

    ブランチ内に同じコードがあるが履歴が異なる2つのgitリポジトリからのコードを統合するにはどうすればよいですか?

  25. 25

    SmartGitからリポジトリを削除するにはどうすればよいですか?

  26. 26

    CUPSプリンターのジョブ履歴を表示するにはどうすればよいですか?

  27. 27

    ArangoDB のリビジョン履歴を照会するにはどうすればよいですか?

  28. 28

    変更をコミットせずにgit履歴からファイルを削除するにはどうすればよいですか?

  29. 29

    git bashから直接githubリポジトリを作成するにはどうすればよいですか?

ホットタグ

アーカイブ