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

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

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

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

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

988閲覧

Gitの100 MBのファイルを削除したい。

YUMA-NAGAO

総合スコア41

Git

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

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/06/23 05:44

編集2020/06/23 05:45

#前提・実現したいこと
Gitから、100 MBのファイルが追加された経歴を削除したい。

#試したこと
似たような質問を基に1,2を試してみました。

  1. masterのブランチをバックアップしておく(念のため)git branch temp

  2. 目的のcommitを含む範囲でinteractive rebase

git rebase -i ******
エディタ上で該当のcommitをpickからeditへ書き換えて保存

この2をやっている途中でターミナルを謝って削除してしまいました。
そのため、似たような質問にある事を最後まで実現できていないです。

#教えていただきたいこと
2点あります。

  1. ググった時のキーワード
  2. 解決方法を導き方

自力で解決できるようになりたいので!

エラーに対応したときのURL

  1. GitHubへ既存リポジトリをPushする時に100MB超過ファイルを過去に遡って削除する方法
  2. git rebase -i origin master “fatal: Needed a single revision invalid upstream origin”
  3. You need to run this command from the toplevel of the working tree
  4. git rebase fatal: Needed a single revision

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

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

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

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

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

guest

回答2

0

ベストアンサー

とりあえず、何も問題はないので落ち着きましょう。
いつでもなかったことにして最初からやり直せます。

Gitに関しては「状態」という概念があり、
rebaseのような複雑のコマンドは、複数のコマンドをちくちくと積み重ねていく思想になっています。

git rebaseは一撃で全ての処理が完結すれば良いですが、そうでないケースが多々発生します。
その都度、Gitが「これはマージしきれないぞ」と判断した時点で作業を止めます。
git rebase --continue等のコマンドを使いながらちびちびと編集作業を進めていき、
最終的にコミット履歴をキレイにしましょうという感じで進めていきます。

途中で「あかん、完全に失敗だったわ」と思ったら、
いつでもgit rebase --abortで現在のrebase作業を捨ててブランチの状態に戻ることが可能です。

一度git statusコマンドで確認してみてください。
rebase作業中ならばメッセージが変化します。
もし英語で「今はgit rebase作業中だよ、抜けたかったらgit rebase --abort実行してね」
みたいな記載があるなら一度それで取り消してみてください。

投稿2020/06/23 06:12

miyabi-sun

総合スコア21158

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

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

YUMA-NAGAO

2020/06/25 06:27

ご回答ありがとうございます! 似たような質問にある4番目の 編集したいcommitでrebaseが止まるので、Addしたくなかったファイル名を指してrm が出来ないです…。
miyabi-sun

2020/06/25 07:28 編集

おっ、話が進んだんですね。 では`git rm`コマンドを実行するとどうなるか説明できますか? 実は`git rm`コマンドはLinuxの`rm`を内包したような実装になっている為、 `git add`の流れをベースに理解しているとかなり混乱します。 `git rm`は一度忘れましょう。 意識して使わなければ一生使う事はありません。 Linuxの`rm`コマンドでファイルを消しさり、それを`git add [旧ファイル名]`で伝えてあげる事で代用できます。 --- Gitにはステージと言う概念があります。 - 修正したファイルを`git add [file-name]`でステージに上げる - ステージにあるファイル群を`git commit`でコミット履歴に書き足す - やべ!要らないファイルをステージに上げてしまった!`git reset [file-name]`でステージから降ろす これは`git status`で確認した時に、 緑色でピカピカ光っているファイルがステージに上がっているファイルとなります。 赤い`modified both`みたいなやつを修正後、`git add`でステージにあげましょう。 `git rebase`作業中は、コミットしてはいけません。 赤いファイルがなくなるよう修正を行い、`git rebase --continue`を実行してください。 これがコミットの代わりになります。
YUMA-NAGAO

2020/06/30 03:30

git rm をやりましたが、まだ削除することが出来ていないです…。
guest

0

「git やり直し」でぐぐるといろいろ参考になるかと思います

投稿2020/06/23 05:56

y_waiwai

総合スコア87749

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問