私の最初のコミットは、間違いなくそれの中にかなりのメディアファイルで作られているので、スペースの90%を食べているようです。ローカルとリモートのリポジトリから最初のコミットだけを削除する方法はありますか?それともこのままにしておきますか?Gitリポジトリから最初のコミットを削除できますか?
答えて
既に他の多くのユーザーとリポジトリを共有しているようです。これが当てはまる場合は、おそらくそれだけで生活するべきです。
すべてのクローンを管理している場合は、意図しないファイルを削除して、変更されたルートコミットの上に履歴を書き直すことができます。他の開発者がすでにこのブランチから作業している場合は、これを行うべきではないことに注意してください。
履歴を書き換えている場合は、次の方法を試すことができます。 gitはHEADコミットが最近行われたログ(reflogs)のログを保持しているので、git gc
またはgit gc --prune
にしようとしても、大きなオブジェクトはリポジトリや他のリポジトリからすぐに消えません。ただし、新しいクローンがマスターブランチの履歴の一部として大きなオブジェクトをフェッチすることはありません。
作業ディレクトリは、「クリーン」であると仮定すると:(例節を参照してください)別の方法としては、問題のあるファイルを削除するgit filter-branchを使用することができます
# Go back the initial commit
git checkout <SHA1_of_old_root>
# Clean up the index to remove unwanted files, e.g. using git rm <files>
# ...
# Amend the initial commit with the new tree. Note the sha1 of the new commit
git commit --amend
# Go back to the master branch
git checkout master
# Re-apply all the commits onto the new root
git rebase --onto <SHA1_of_new_root> <SHA1_of_old_root>
、それはまた、歴史を書き換えています。だから、あなたの古い歴史の上に自分のコードを置いた人は、悪い驚きを得るでしょう...
filter-branchもより良い対処をします(または少なくとも対話を少なくする必要があります)if不要なファイルに対する変更は、ルートコミット以降に追跡されています。 –
- 1. コミット情報をgitコミットから削除します
- 2. コミットされたパッチをローカルのgitリポジトリから削除するには?
- 3. ローカルgitリポジトリで特定のコミットを削除するには?
- 4. 特定のコミットからgit-svnメタデータを削除できますか?
- 5. Git - 削除されたコミットを回復できますか?
- 6. gitから大きなコミットを削除する
- 7. gitリポジトリへの最初のコミットでのトラブル
- 8. Xcode Projectからローカルgitリポジトリを削除しますか?
- 9. gitはプルリクエストからコミットを削除します
- 10. Gitはリポジトリから* .sln.docstatesを削除します
- 11. gitリポジトリ全体からファイルを完全に削除します
- 12. Git - 前のコミットから削除したフォルダを復元する
- 13. 履歴から複数のgitコミットを削除する
- 14. 他の人が私のGitリポジトリにコミットできますか?
- 15. gitリポジトリから* ALLのファイルとディレクトリを削除するには?
- 16. Netbeansのリポジトリブラウザからgitリポジトリを削除するには?
- 17. Git削除履歴コミット
- 18. mercurial:コミット後、プッシュ前に削除されたリポジトリから回復
- 19. Gitリポジトリから作業ツリーを削除する方法
- 20. gitリポジトリからオリジンを削除する方法
- 21. TortoiseGitからローカルGitリポジトリを削除するには?
- 22. Gitリポジトリからファイルを削除する、Githubとコミッタ
- 23. gitリポジトリから古いコミット情報を削除して、スペースを節約します。
- 24. コミットされていない削除済みファイル(プレーンrmで削除)を最後のgitコミットに戻す方法
- 25. 特定のチェンジセットをGitリポジトリから完全に削除しますか?
- 26. 初期コミット後にディレクトリをgitlabから削除する
- 27. リポジトリからgit破損ブロブを削除してください
- 28. TFS gitリポジトリのリモートブランチを削除する
- 29. GitコミットはGitリポジトリの最後のコミットをオーバーライドしているようですか?
- 30. gitリポジトリからの.flaファイルの除外
'git rebase --root'もあります。詳細については、以下のSO答えを参照してください。http://stackoverflow.com/questions/2246208/change-first-commit-of-project-with-git – MKroehnert