#注意事項
完全に個人用メモです。公式情報でもなんでもありません。ググってこの記事に来てしまった方はお気をつけください。違っていたら即直しますのでガンガンご指摘ください。(個人用メモなので追加もしていきます)
addしてないファイルとフォルダ削除
git clean -n
・・・どのファイルが削除対象になるか確認するだけ。削除はされない
git clean -f
・・・addしてないファイル削除
git clean -fd
・・・addしてないファイルとフォルダ削除
##ワークツリー変更内容を取り消し
git checkout .
・・・全てのファイルのワークツリー変更内容を取り消し
git checkout hoge.txt
・・・hoge.txtのワークツリー変更内容を取り消し
新しく作ったファイルとかフォルダは消されないのでご注意。
##addを取り消し
git reset HEAD^ .
・・・全てのファイルのaddを取り消し
##commitを取り消し
git reset --soft HEAD^
・・・HEADのコミットだけ取り消し
git reset --mixed HEAD^
・・・HEADのadd、コミット取り消し
git reset --hard HEAD^
・・・HEADのワークツリー変更内容、add、コミット全て取り消し
##pushを取り消し
git push -f origin master
・・・上記の方法でローカルでコミット取り消した後に無理やり(-fオプション)歴史を改変してリモートのmasterにプッシュする。
##番外編①(git fetch, git pull, git cloneについて)
git fetch
・・・リモートのリポジトリの内容をローカルのリモート追跡ブランチに反映(git pushの逆)
git pull
・・・git fetchした後にローカルのリモート追跡ブランチをローカルブランチにmergeする(git pushの逆ではない)
git clone
・・・git pullするための下準備(git init)とかをやっといてくれる。んで、git pull 。新規に開発に参加するときとかはこっちでいいと思う。