2013/07/13

git の勉強

グラフィカルだし、コミットの様子もわかりやすい

http://k.swd.cc/learnGitBranching-ja/

  • HEAD
    • もっとも直近にチェックアウトされたもの?
  • コミットの指定
    • タグ名 master, bugFix,..
    • 相対指定
      • ~ : HEAD~2 == HEAD の2つ前
      • ^ : HEAD^^ == HEAD の2つ前
      • 例) HEAD3^^^1^2 (^ + 数字 : 複数の親を持つ場合に使う)
  • merge などで、複数の親を持つコミットの ^
    • デフォルトは、最初の親
    • foo^2 など、 ^ + number で挙動を変更
  • コミットにブランチ名を割り当てる
    • git branch -f (ブランチ名) (コミット)
  • コミットの取り消し
    • reset
      • ブランチのポインタを戻す
      • リモートのブランチには関係ない
      • git reset HEAD~1
    • revert
      • 変更を巻き戻して、履歴を上書きする
      • 他人と共有しているプロジェクトで、リモートのブランチを書き換える必要があるときに使う。
      • git revert HEAD
      • 実質的には、直前のコミットの逆のコミットを行う処理
  • コミットの取り込み
    • merge
    • rebase [-i]
    • cherry-pick
  • 一連のコミットを取り込むが、微妙に修正する
    • git rebase -i (もしくは git cherry-pick) をして、順番を修正。変更したいコミットを先頭に。
    • commit --amend して変更
    • git rebase -i を使って、先頭に持ってきたコミットを元の場所にする。(もしくは git cherry-pickを使って順番どおりに行う)

0 件のコメント:

コメントを投稿