gitを駆け足で学習してみた
git status。コミット前に使う。今コミットしたらどんな変更されるかを表示。ここでuntrackファイルも表示される。untrackで無視するやつは.gitignoreに追加する。無視しない場合はaddする。
2011-04-15 20:11:47addも省略して変更全て一気にコミットする場合、git commit -aを使う。あと、git add -pで適用する変更を取捨選択しながらaddする。git diff --cachedでインデックスと前のコミットとの差分を表示。
2011-04-15 20:17:22git commit <paths>で一部だけコミット、git reset <paths>でインデックスから一部だけ削除。git checkout <paths>で一部だけgit add直後の状態にもどす。やっぱチェックアウトはリポジトリからの取り出しと覚えていた方が良さそうだ。
2011-04-15 20:32:10git revert:変更した箇所を変更点を追加する形で追加で修正する。git reset HEAD^:直前のコミットを捨てる。git reset --hard HEAD^:直前のコミットもそれ以降の変更も捨てる。
2011-04-15 20:53:34git rebase -i HEAD~2で3つ前のコミット直後まで戻る。HEADは今現在、HEAD^は一つ前、HEAD^^もしくはHEAD~2は二つ前のコミットをさす
2011-04-15 20:57:57チェックアウトする場合は、commitかstash(暫定保存)しないといけない。commitはゴミが残るかもーと思うかもしれないけど、git commit --amend でコミットし直しができる。
2011-04-15 21:27:18@lychee fetch リモートをローカルにDL、rebase ブランチを作った派生元を変更、bare リポジトリをDL(多人数で同一のリポジトリを触る用)という風に理解しています。
2011-04-15 21:43:36@lychee 残るfetchはサーバ(remotes)から、リポジトリの情報だけDLしてきて、自分のブランチに影響なし、です。数時間で理解されていくのが見てて羨ましいです。うちの会社の人にも見習って欲しい。
2011-04-15 21:51:59@myb1126 いやいや、 @myb1126 さんに教えていただいたんで。わかった気になってるだけで理解できているかどうかも怪しいですし。fetchわかりました!
2011-04-15 21:55:47@lychee 使わないものも多いし、使っちゃいけない物も実は含まれてたりしますからちょっと最初は混乱しますね。git-flowさんが、いい感じに使うものだけラップされてるので、それを手がかりに覚えると良いかも?比較→http://bit.ly/hPWcCL
2011-04-15 22:07:30