kb84tkhrのブログ

何を書こうか考え中です あ、あと組織とは関係ないってやつです 個人的なやつ

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は、ローカルの現在のブランチが対象になるんだな
間違えないように注意しないと