sh git重置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh git重置相关的知识,希望对你有一定的参考价值。
# ① 直前のコミットを取り消したい(コミットのみ取り消し)
git reset --soft HEAD^
# HEAD^:直前のコミットを意味する。
# @^、HEAD~も同じ意味。
# HEAD~{n} :n個前のコミットを意味する。
# HEAD^やHEAD~{n}の代わりにコミットのハッシュ値を書いても良い。
# gitのv1.8.5からは、「HEAD」のエイリアスとして「@」が用意されている。
# HEAD^^^とHEAD~3とHEAD~~~とHEAD~{3}と@^^^は同じ意味。
# --softなので、インデックス・ワーキングツリーはそのまま。
# 上書きコミットしたいなら、git commit --amendを使うとラク!
# ② 直前のコミットを取り消したい(マルっと消したい)
git reset --hard HEAD^
# --hardなので、「インデックス・ワーキングツリー」も1つ前のコミットの状態に戻る。
# ③ コミット後の変更を全部消したい
git reset --hard HEAD
# --hardなので、「HEADの位置・インデックス・ワーキングツリー」を全てHEADの位置に動かす。
# HEADの位置はそのまま。
# 「インデックス・ワーキングツリー」の変更が消せる。
# ④ addを取り消したい
git reset --mixed HEAD
# または、
git reset HEAD
# --mixed(or オプション無し)なので、「HEADの位置・インデックス」をHEADの位置に動かす。
# HEADの位置はそのまま。
# 従って、インデックスの変更(addした内容)のみ元に戻す。
# ⑤ すごい昔の状態で動作を確認したい
git reset --hard 昔のコミットのハッシュ値
# これをやる前に、pushして置くことを強くオススメします!
# reset --hardは基本的にすべて消えるので慎重に。
# 一応復活させる術はなくはない。
# remoteに最新の状態を記録しておけば、ローカルは好きな所に移動しても安心。
# コミットのハッシュ値はgit logで確認すればOK!
# 動作確認後、最新の状態に戻るには、また、
git reset --hard ORIG_HEAD
# をすれば良い。
# git reset --hard ORIG_HEAD:直前のresetをなかったことにするおまじない!
# git resetは未来の状態にも行ける。
# git reset --hard 最新のコミットのハッシュ値でも良い。
# git rebase origin/masterでも良い。
# rebaseで何か問題が起きたら下記参照。
# http://qiita.com/shuntaro_tamura/items/c505b76c1021a35ca9ff
# reset --hardやrebaseする時は、こまめにソースツリーの状態を確認しておくといいと思います。
以上是关于sh git重置的主要内容,如果未能解决你的问题,请参考以下文章
sh 重置Git回购
sh 用于git的bash命令重置所有目录并提取最新提交
git 重置为上一次提交,然后推送
sh 重置未推送提交
sh 重置orkave
sh 在推送之前重置qa5