質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

BitBucket

BitBucketは無料のリポジトリ管理ホスティングサービスです。 MercurialとGitのVCSに対応しています。プライベートリポジトリを、制限なく作成することが可能です。

Q&A

解決済

2回答

48561閲覧

【Git】昔のコミット履歴を一括削除したい

lupus_dingo

総合スコア257

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

BitBucket

BitBucketは無料のリポジトリ管理ホスティングサービスです。 MercurialとGitのVCSに対応しています。プライベートリポジトリを、制限なく作成することが可能です。

0グッド

0クリップ

投稿2016/05/19 09:35

OSSフレームワークのリポジトリをクローンし開発を進めているのですが
コミット履歴にあたりまえですがOSS自体のコミット履歴が大量にあります。

これを一括削除したいのですがそのコマンドを教えてほしいです。
やりたいことは
「コミット番号abcd以前のコミットはすべてクリア(なかったことに)する」
です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

綺麗さっぱり消し去るなら、次のようにするといかがでしょうか。

sh

1git checkout --orphan tmp 2git commit -m "first commit" 3git checkout -B master 4git branch -d tmp

※ kentei_syunrai さんも仰るとおり、履歴を消すのは好ましく無いと思いますけれども

投稿2016/05/19 14:27

ngyuki

総合スコア4514

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lupus_dingo

2016/05/20 14:41

回答ありがとうございます。 履歴を消すのは良くないと思いますが、ossをクローンして開発する場合(例えばcakePHPをベースにwebアプリを作るなど)はクローンした時点でプロジェクトに関係ないコミットばかりなので"first commit"でまとめた方がいいと思うのですがいかがでしょうか?
ngyuki

2016/05/20 14:49

あぁ、いわゆる Skeleton ということですね、それなら確かに履歴は要らないですね
ngyuki

2016/05/20 14:51

単に .git ディレクトリを削除して git リポジトリを作りなおすのでも良いような気がします。
lupus_dingo

2016/05/25 07:45

回答ありがとうございます。 たしかに.gitディレクトリ削除してもいいですね。
guest

0

ベストアンサー

git rebase -iを使えば実現可能かと思います。

使い方などは以下を参照していただければ。
GitHubにpushしたcommit記録の削除方法

※ただし履歴を消すのは推奨しませんが。

投稿2016/05/19 11:48

kentei_syunrai

総合スコア946

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lupus_dingo

2016/05/20 14:46

回答ありがとうございます。 すみません、コマンドは以下で合ってるでしょうか? コミット番号で指定したコミット以前を削除 git rebase -i コミット番号~~
kentei_syunrai

2016/05/20 23:40

えっと、参照リンク先に書いているとおりです。(必ずバックアップは取ってからやってくださいね。) 書かれているコマンドでやると、2個前までしか見えません。 git rebase -i コミット番号~<指定コミット番号から何個前まで遡るか[数値]> 例えば git rebase -i HEAD~4 と入力すれば、HEADから4つ前までの一覧が出ます。 そこから削除したいコミット行を消して保存すると、コミットの情報が消えます。(git logでみると情報が削除されているはず) あとはその情報をうまく登録してあげるだけです。詳細は参照リンク先を見てください。
lupus_dingo

2016/05/25 07:46

回答有り難うございます。 リンク気づきませんでした。 参考にさせてもらいます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問