サルでもわかるGit入門を読んだよ
そろそろ本当にGit使えるようになりたいと思っていた矢先に、サルでもわかるGit入門なんてものがTLに流れてきたので読んでみました。
主に知らなかったことのメモです。
HEADからの相対位置を指定する方法
HEAD^^^とか指定することがあるかと思いますが、HEAD~3なんて指定もできるんですねえ。
mergeとrebaseの使い分け
サルでもわかるGit入門 〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】
- トピックブランチに統合ブランチの最新のコードを取り込むときはrebase
- git pull --rebaseかな?
- 統合ブランチにトピックブランチを取り込む場合は、rebaseしてからmerge
- git merge && git rebaseでいいのか?
ブランチの削除
$ git branch -d (branch name)
ブランチの作成しかしたことなかったから知らなかった……
コンフリクト時のやり直しとか
サルでもわかるGit入門 〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】
マージの取り消し(マージに限らないはず)
$ git reset --hard HEAD~
コンフリクトが発生した場合のリベースの継続
$ vim conflict.txt
$ git add conflict.txt
$ git rebase --continue
pull
サルでもわかるGit入門 〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】
Mercurialと違ってpullするとマージされる。
Git | Mercurial |
git pull | hg pull --update |
git fetch | hg pull |
かな?
タグ
サルでもわかるGit入門 〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】
- 軽量タグ
- 名前を付けられる
- 注釈付きタグ
- 名前を付けられる
- コメントを付けられる
- 署名を付けられる
2種類タグがあるなんて知らなかった!
軽量タグ。
$ git tag (tag name)
注釈付きタグ。
$ git tag -am "コメント" (tag name)
- aで注釈付きタグ指定、-mはコメント。
タグの削除。
$ git tag -d (tag name)
リセット
サルでもわかるGit入門 〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】
- soft
- mixed
- hard
の3種類のリセットがあるとか知らなかった!
- soft
- コミットだけをなかったことにする
- mixed
- mixed変更したインデックスの状態を元に戻す
- hard
- 最近のコミットを完全になかったことにする
という使い分けが良いみたい。
対話的なリベース
サルでもわかるGit入門 〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】
$ git rebase -i
でいろいろ履歴をいじれちゃう。Mercurialにはないかなー、多分。
コミットを一つにまとめてマージ
サルでもわかるGit入門 〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】
$ git merge --squash
でAとBのコミット一つのコミットにまとめてマージできる。
一応全部読んだ。(逆引き除く。でもあとで読む)
すごくわかりやすいので、Gitを知っている人も知らない人も一度読んでみるといいかも!