gitを駆け足で学習してみた

gitを使うためにフォロワーさんに助けてもらって駆け足で学習した記録。TL上だと茶色本disられてますけど、実践にはこっちの方がよいと個人的には思いました
0
LYCHEE @lychee

.git/objectsの中にはオブジェクトが格納されている。ハッシュ値の名前のファイルがたくさん。

2011-04-15 20:01:12
LYCHEE @lychee

大まかだけど基本はおぼえた。あとはコマンド。

2011-04-15 20:04:49
LYCHEE @lychee

git diffは前回のgit addからの差分、git diff HEADとすると前回コミットからの差分となるもよう。

2011-04-15 20:08:43
LYCHEE @lychee

git status。コミット前に使う。今コミットしたらどんな変更されるかを表示。ここでuntrackファイルも表示される。untrackで無視するやつは.gitignoreに追加する。無視しない場合はaddする。

2011-04-15 20:11:47
LYCHEE @lychee

addも省略して変更全て一気にコミットする場合、git commit -aを使う。あと、git add -pで適用する変更を取捨選択しながらaddする。git diff --cachedでインデックスと前のコミットとの差分を表示。

2011-04-15 20:17:22
LYCHEE @lychee

この場合はgit commit -a使っちゃだめ。git commit -vを使うこと。

2011-04-15 20:18:29
LYCHEE @lychee

git add -Aが一番便利そうだなあ…

2011-04-15 20:25:20
LYCHEE @lychee

git commit <paths>で一部だけコミット、git reset <paths>でインデックスから一部だけ削除。git checkout <paths>で一部だけgit add直後の状態にもどす。やっぱチェックアウトはリポジトリからの取り出しと覚えていた方が良さそうだ。

2011-04-15 20:32:10
LYCHEE @lychee

git revert:変更した箇所を変更点を追加する形で追加で修正する。git reset HEAD^:直前のコミットを捨てる。git reset --hard HEAD^:直前のコミットもそれ以降の変更も捨てる。

2011-04-15 20:53:34
LYCHEE @lychee

git rebase -i HEAD~2で3つ前のコミット直後まで戻る。HEADは今現在、HEAD^は一つ前、HEAD^^もしくはHEAD~2は二つ前のコミットをさす

2011-04-15 20:57:57
LYCHEE @lychee

チェックアウトする場合は、commitかstash(暫定保存)しないといけない。commitはゴミが残るかもーと思うかもしれないけど、git commit --amend でコミットし直しができる。

2011-04-15 21:27:18
LYCHEE @lychee

git fetch <repository> <branch>でリポジトリのそのブランチまでの変更履歴を取得。

2011-04-15 21:34:16
LYCHEE @lychee

fetchとrebaseと--bareオプションつけるつけないがよくわからない。

2011-04-15 21:40:32
LYCHEE @lychee

git send-emailってのもあるのか…

2011-04-15 21:40:54
みやなんとかさん @myb1126

@lychee fetch リモートをローカルにDL、rebase ブランチを作った派生元を変更、bare リポジトリをDL(多人数で同一のリポジトリを触る用)という風に理解しています。

2011-04-15 21:43:36
みやなんとかさん @myb1126

@lychee 説明がヘタで申し訳ない。( ´・ω・`) bareはサーバ建てる時しか使ったことないです。

2011-04-15 21:48:43
LYCHEE @lychee

@myb1126 いや、わたしの理解力ががが。すみません!rebaseはわかりました(^^)

2011-04-15 21:49:50
みやなんとかさん @myb1126

@lychee 残るfetchはサーバ(remotes)から、リポジトリの情報だけDLしてきて、自分のブランチに影響なし、です。数時間で理解されていくのが見てて羨ましいです。うちの会社の人にも見習って欲しい。

2011-04-15 21:51:59
LYCHEE @lychee

@myb1126 いやいや、 @myb1126 さんに教えていただいたんで。わかった気になってるだけで理解できているかどうかも怪しいですし。fetchわかりました!

2011-04-15 21:55:47
LYCHEE @lychee

つかわかった気になってるだけだな…fetchの必要性がいまいち…

2011-04-15 22:02:07
みやなんとかさん @myb1126

@lychee 使わないものも多いし、使っちゃいけない物も実は含まれてたりしますからちょっと最初は混乱しますね。git-flowさんが、いい感じに使うものだけラップされてるので、それを手がかりに覚えると良いかも?比較→http://bit.ly/hPWcCL

2011-04-15 22:07:30
LYCHEE @lychee

@vvakame いらないのかな…でもうちの同僚は使うっていってたー

2011-04-15 22:10:45
LYCHEE @lychee

@myb1126 何から何までありがとうございますー!よもう

2011-04-15 22:12:04