gitでローカルの作業を無かったことにする方法
結論から言うと、以下のコマンドになります
[farmedgeek@Mint ~/src]$ git checkout .
流れを追っていってみます
- まずcloneほやほやのこのファイルを編集してみます
[farmedgeek@Mint ~/src]$ cat sample.py
#!/usr/bin/python # coding:utf-8 print 1
これを、こう
#!/usr/bin/python # coding:utf-8 print 20471120
こういうかんじ
- ステータスを確認してみると、modifiedになってますね
[farmedgeek@Mint ~/src]$ git status # On branch master # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: sample.py # no changes added to commit (use "git add" and/or "git commit -a") [farmedgeek@Mint ~/src]$
- じゃあ戻してみます。
上述したコマンドを実行します。
[farmedgeek@Mint ~/src]$ git checkout .
※addの時と同じで、.(ピリオド)は「すべてに対して」というコマンドになるので
特定のファイルのみ戻す場合は、
[farmedgeek@Mint ~/src]$ git checkout sample.py
こうなります。
- 確認
[farmedgeek@Mint ~/src]$ cat sample.py
#!/usr/bin/python # coding:utf-8 print 1
戻ってますね。以上です。
gitのcheckoutはbranchの切り替えっていう認識だったので
いわゆるcheckoutっぽい使い方もするんだなと思いました。