GitHub実践入門 (2)
git reset --hard ハッシュ → 指定したハッシュの状態を復元
--hardじゃないときはなんなんだということでちょっと確認
- git reset --soft
インデックスもワーキングツリーも変えず、コミットだけをHEADまたは指定したハッシュに戻す - git reset または git reset --mixed
ワーキングツリーはそのままで、インデックスをリセットしてコミットをHEADまたは指定したハッシュに戻す - git reset --hard
ワーキングツリーとインデックスをリセットしてコミットをHEADまたは指定したハッシュに戻す
えーと
だからどういうときにどれを使うんだ、ってなってしまうな
データを直接いじってる感じで、やりたいこととコマンドがリンクしてない感じ
resetっていうくらいだからデータ寄りなのはわかるけど
もうちょっと抽象化できないのかな
gitがわかりづらいっていうのはこういうところかもしれない
精進します
続き
- git commit --amend
直前のコミットのコミットメッセージを修正する - git rebase -i コミット
遡ってコミットし直す(1行では書ききれない)
git rebaseは若干ややこしいしこわい
ちゃんとわかれば何でもできそう
HEAD~2のようなコミットの指定方法がいろいろあるみたい
- ハッシュ
ハッシュに対応したコミット - HEAD または @
最新のコミット - (コミット)^
指定したコミットのひとつ前 - (コミット)^^
指定したコミットのふたつ前 - (コミット)~
指定したコミットのひとつ前 - (コミット)~~
指定したコミットのふたつ前 - (コミット)~2
指定したコミットのふたつ前
なんでこんなに書き方がいろいろあるん?
- git remote add リモートリポジトリ リポジトリのパス
リモートリポジトリを登録 - git push -u リモートリポジトリ リモートブランチ
現在のブランチをリモートリポジトリのブランチに送信し、アップストリームに指定する - git push
現在のブランチをアップストリームに送信する - git branch -a
リモートのブランチも表示 - git checkout -b ブランチ リモートブランチ
リモートのブランチをチェックアウト - git pull リモートリポジトリ リモートブランチ
リモートのブランチをローカルに持ってくる
pushとpullは、ローカルの現在のブランチが対象になるんだな
間違えないように注意しないと