LoginSignup
3
6

More than 5 years have passed since last update.

git 更新が不要なファイルをpushしてしまった時の対応

Last updated at Posted at 2018-07-21

git管理対象だけど、間違って更新してしまった時は・・・・

PRを出してレビューを受けている際に、「不要なファイル・改修がpushされてます。」みたいな感じで気がつくあるあるネタ。手元でデバッグ用にコードを少し修正してたのを忘れてそのままgit add .してたりするときに発生。git管理が不要なファイルをpushしてしまった時はgit rmコマンドを利用すればいいが、git管理対象だけど、間違って更新してしまった時は・・・・

やらかしやすい例

try.rb
# このファイルだけ修正してpushしたい
class Try
  def index
    Test.new.calc(5)
  end
end
test.rb
# 修正ファイルから呼ばれる関数の中身を知りたくて標準出力を入れた。
 class Test
   def calc(y)
     x = y + 1
p "x" # こんな感じでデバッグ用に値を標準出力するようにしてたとする
   end
 end
terminal
git add .  
# ↑まとめてaddしているため try.rb と test.rb の2ファイルがaddされてしまう
git commit
git push

test.rbのpushをなかったことにしたい・・・ そんな時は・・
誤って更新したファイルを、戻したいコミットの状態にして再度pushすればOK

terminal
# まずはコミットログを確認
git log

# git checkout [戻したいコミットid] [対象ファイル名]
git checkout xxxxxx test.rb

# git add [対象ファイル名]
git add test.rb
git commit
git push origin [ブランチ名]

もちろん、普通に不要な改修を手で修正して元に戻すこともできますが、
コミットで戻してあげた方が安心です。
また、これ系でやらかしてしまう場合は、git add .する前にgit statusで変更を確認して、ファイル単位でaddかまとめてaddして問題ないのかを確認すると良い。

3
6
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
3
6