reset
わかりやすい参考記事
resetを使う前に目を通しておくとわかりやすい
http://qiita.com/shuntaro_tamura/items/db1aef9cf9d78db50ffe
※git reset
コマンドは、他の人のソースを破壊するおそれがあるので、使い方に非常に気をつけてください
git reset
したあとはpushすると危険なので、気をつける
間違えてaddしたとき
addされていない状態になります
ファイルは変更されたままです
git reset
ローカルで間違えてcommitした場合
※対象のcommitをpushした場合は、下記のコマンドは使用すると危険な場合があります
git reset --soft HEAD^
過去の状態に戻す(障害発生時や、過去の状態での確認など)
hash値はgit log
などで確認します
下記に説明があります
git reset hash値
git logでコミットのハッシュ値を取得する
git log
を入力する
--oneline
を入力するとコメントと英数字(SHA-1)のみが表示される
// 下記のいずれかを入力する
$ git log
$ git log --oneline
下記のように表示される
戻りたい地点の英数字をコピーする
コメントを見ながら戻りたい地点を探す
git log
commit
の横の数字と英字の羅列をコピーする(下の例だと0e76c1d24ba7458a8d69eb58c1c5729cb6c94e40
)
commit 0e76c1d24ba7458a8d69eb58c1c5729cb6c94e40
Merge: 04efb38 55c2e8b
Author: Kunio Takahashi <Ducks@Kunio-no-MacBook-Pro.local>
Date: Mon Nov 30 18:14:05 2015 +0900
Merge branch 'master' into dev-check
git log --oneline
数字と英字の羅列をコピーする(下の例だと0e76c1d
)
0e76c1d Merge branch 'master' into dev-check
下記のコマンドで戻る
// git reset hash値
$ git reset 0e76c1d24ba7458a8d69eb58c1c5729cb6c94e40
ログを再び見ると、そのcommitまで戻り、ファイルがその時の状態にもどっている
resetしたファイルを最新の状態にもどす
自分が使っているブランチがmaster
の場合は下記のようにする
master
の部分は自分が使用しているブランチ名に変更する
下記のコマンドはgit pull
でも大丈夫だが、その場合は他の人がpush
したリモートのファイルも含まれるので注意する
$ git merge origin/master