1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Git 直前のコミットで間違えたファイルをコミットしてしまった

Posted at

目的

  • ローカルリポジトリで若干やらかした際の解決方法をまとめる

実施環境

  • ハードウェア環境
項目 情報
OS macOS Catalina(10.15.3)
ハードウェア MacBook Pro (16-inch ,2019)
プロセッサ 2.6 GHz 6コアIntel Core i7
メモリ 16 GB 2667 MHz DDR4
グラフィックス AMD Radeon Pro 5300M 4 GB Intel UHD Graphics 630 1536 MB
  • ソフトウェア環境
項目 情報 備考
Git バージョン 2.25.1 Homwbrewを用いて導入

前提情報

  • リモートリポジトリにpushする前のローカルリポジトリで操作ミスをした。
  • やらかした内容
    • 実施したかった作業順→$ git add 修正ファイル実行後$ git commitを実行する。
    • 実際に実行した作業順$ git add 修正ファイル実行後$ git commit --amendを実行した。

発生した問題

  • 説明のための記載
    • 「すでにコミットされている最新のコミット」をコミットBとする。
    • コミットBよりさらに新しい、これからコミットする予定のコミット内容Aとする。
    • これからするはずだったコミット内容AのコミットをコミットAとする。
  • コミットBにコミット内容Aも含まれた状態になってしまった。

やりたいこと

  • コミット内容Aを含んでしまったコミットBを、修正内容そのままに無かったことにする。
  • コミットBとコミットAを別々のコミットとする。

解決方法

  1. 下記コマンドを実行してコミットBの$ git commitを取り消す。

    $ git reset --soft HEAD^
    
  2. 下記コマンドを実行してステージング状況を確認する。

    $ git status
    
  3. コミットBが取り消された状態になる。($ git addの実行直後状態になる。)

  4. 下記コマンドを実行してコミット内容Aのステージングを取り消す。

    $ git restore --staged コミット内容Aのファイルパス
    
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?