私は4歳のgitリポジトリを持っていて、とても巨大になり始めました:〜30GO、60.000ファイル。毎日1回または2回のコミットが行われます。私は1年以上前のすべてのコミットを最初のコミットにスカッシュしたいと思います。しかし、技術的な問題のために、私はレポを再現することはできません、私はそれを使用する必要があります。入手可能なgitバージョンは1.7.2.5です(更新することはできません)。ディスク容量は100goに制限されているため(まだ70goしか利用できません)、デバイスメモリは4go(19Moのスワップ、はいMO ...)で、別のコンピュータでもリポジトリを移動することはできません。非常に巨大なリポジトリと限られたリソースの中で、1年以上経過したすべてのSquashをコミットします
私はこのページで選択したソリューションを試しましたSquash the first two commits in Git?、2009年2月版。それは 'git rebase --onto'まで動作します。 git-rebaseはOutOfMemoryエラーを引き起こします。なぜなら、原因がわからないから、1回のショットですべてのコミットを再生しようとしていると思われます。私はgit-cherry-pickを使い、一度に1つずつコミットしてから、その上でマスターを動かすことを考えています。
いいですか?誰かが良いアイデアを持っていますか?すごい! :)
仮想マシンが使用できるメモリを増やすだけで、メモリ不足の問題を修正する可能性があります。 –
VMの物理設定は固定されていますが、これは本当に古いプロプラエタリな仮想システムです。私が増やすことができる唯一のものは、余分なディスクを追加することによってディスクストレージです。 – djo