Git part2は前回の復習と、トラブルシューティングです。
1.ファイルを変更したけど、戻したい
$ git checkout filename $ git checkout .
ドットを指定すると、更新ファイル全部が対象になります。
2.ファイルを変更してaddしちゃったけど戻したい
$ git reset HEAD filename
resetをすると、1のaddしてない状態に戻るので、更に変更もなかったことにしたかったら、続けて1を
3.commit までしちゃったけど戻したい
$ git reset --hard HEAD^ $ git reset --soft HEAD^
hardはcommitもaddも変更もすべてなかったことに。
softはcommitだけなかったことに。(addはされてる)
mixedはcommitとaddの取り消し
4.特定のコミットだけを現在のブランチに取り込みたい
$ git cherry-pick コミットのハッシュ値