Github上のコミットを戻す方法
$ git reset --hard HEAD^
これだと、ローカルのコミットしか戻せない。
$ git push -f origin HEAD^:master
$ git push -f origin HEAD^:develop
このようにすればいいけど、要注意。
安全な方法
- GitHubのremoteを変える(git push -f origin
HEAD^
:master) - 間違えたら、ローカルをプッシュ(git push origin master)
- 大丈夫なら、ローカルも変更(git reset --hard
HEAD^
) ※Githubとローカルのmasterが同じ状態なら、HEAD^
は同じであるはず。
git pullでmaster以外のbranchをローカルに持ってきたい場合。
$ git checkout -b new-branch origin/remote-branch
※git pull は現在のブランチにマージされる
remote-branchの確認方法は、
$ git branch -a
git ignroe したのにもかかわらず、以下のエラーでてbranchを変えられない場合
$ git co .
co = checkout
git merge で dry-runしたい
$git merge --no-commit --no-ff develop
結果を確認した後、
$git reset --hard HEAD
remote branchをローカルから消す方法
$git branch -d old-branch
$git push origin :old-branch
このコロンの正体がわかった。。
参考:今さら聞けないgit pushコマンド
git branch -aしたときに、消したはずのリモートのブランチが残っている場合
git remote prune origin