LoginSignup
2
1

【Git】特定のファイルだけ差分を取り消して元に戻したい場合

Posted at

こんにちは、新卒のエンジニアです。

先日、プルリクエストのレビューで先輩から指摘されたコードを修正する時に役立ったことをメモ代わりに投稿しようとおもいます。

状況としては、複数コミットがあり、取り消しでは戻せない状態。また、戻したいファイルのコミットに他のファイルのコミットも含まれている状態の時に必要になるかと思います。

私の場合は、APIのコードを実装しており、実装に直接関係Visual Studioのソリューションファイル(.sln)にバージョンアップの差分がありコミットしてしまった。

手順

  1. まず、元に戻したいコミットのハッシュを見つけます。git log コマンドを使用して、コミットのハッシュを見つけることができます。

  2. 次に、git checkout コマンドを使用して、元に戻したいコミットハッシュからファイルをチェックアウトします。たとえば、コミット abc123file.txt に行われた変更を元に戻したい場合は、次のコマンドを使用します。

    git checkout abc123 -- file.txt
    

    これにより、file.txt のバージョンがコミット abc123 からチェックアウトされ、現在のファイルのバージョンが上書きされます。

  3. 最後に、git commit コマンドを使用して変更をコミットします。次のコマンドを使用して、元に戻した変更を含む新しいコミットを作成できます。

    git commit -m "Revert changes made to file.txt in commit abc123"
    

    これにより、元に戻した変更を含む新しいコミットが作成されます。

2
1
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
2
1