• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Git をはじめよう
 

Git をはじめよう

on

  • 1,410 views

UT Startup Gym (https://www.facebook.com/utgym) の Git 勉強会での講義資料です。

UT Startup Gym (https://www.facebook.com/utgym) の Git 勉強会での講義資料です。

Statistics

Views

Total Views
1,410
Views on SlideShare
1,287
Embed Views
123

Actions

Likes
2
Downloads
6
Comments
0

5 Embeds 123

http://kawakami.ut-gym.jp 79
http://ut-gym.jp 40
http://utgym.localhost 2
http://dev.ut-gym.jp 1
https://cybozulive.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Git をはじめよう Git をはじめよう Presentation Transcript

    • Git をはじめよう! 飯塚 修平 UT Startup Gym
    • 使用者の声 なんかここんとこ最近腰とか頭とかマジ痛くて吐き気も するしスゲー調子悪かったんスけど、Git 使うように なってから、そういうの全部なくなっちゃったんスよ ね。その体の調子の変わり目の時に何かしたかっていっ たら、ホントに Git をインストールしてあとちょっと薬 飲んだくらいだし。インストールしてから数時間でなん22歳男性・東京都 か体の調子もよくなってきちゃって。インストールした ときはこれだけでこんなに変化するなんて思ってもな かったんスけど。ホントに Git 様々って感じっスわ。ターミナルにscreenではなくbyobuを使うべき100の理由 - 馬鹿と天才は紙一重http://d.hatena.ne.jp/shim0mura/20111005/1317819710 UT Startup Gym
    • Git のこんなところが便利• お前の書いたコードのお陰で動かなくなったんだけ ど?• でも大丈夫!• 動いてた時点まで戻せばいいもんね! HEAD UT Startup Gym
    • Git のこんなところが便利• お前の書いたコードのお陰で動かなくなったんだけ ど?• でも大丈夫!• 動いてた時点まで戻せばいいもんね! HEAD UT Startup Gym
    • Git のこんなところが便利• あ、マシンにお茶こぼしたー。あー、あー、あー。• でも大丈夫!• サーバのリポジトリから clone すればいいもんね! サーバのリポジトリ push clone pull NEW! UT Startup Gym
    • Git のこんなところが便利• このコードいつ誰が書いたの?消してもいいの?• でも大丈夫!• コミットログを見ればいいもんね! UT Startup Gym
    • Git をはじめよう! ONE PLAYER GAMEMULTI PLAYER GAME ADVANCED MODE UT Startup Gym
    • Git のインストールubuntu の方(VirtualBox とか EC2 とか)# apt-get で git をインストールする$ sudo apt-get install git-coremac OSX の方# Homebrew のインストール$ ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"# git のインストール$ brew install git UT Startup Gym
    • Git のしくみ ONE PLAYER GAME コミット = スナップショットmaster 過去 未来 topic ファイルのスナップショットの集合のように考える。Pro Git - Pro Git 1.3 使い始める Gitの基本 http://progit.org/book/ja/ch1-3.html UT Startup Gym
    • コミットのしくみ ONE PLAYER GAME インデックスワーキングツリー UT Startup Gym
    • コミットのしくみ ONE PLAYER GAME インデックスワーキングツリー UT Startup Gym
    • コミットのしくみ ONE PLAYER GAME committed git commit インデックス git status git addワーキングツリー UT Startup Gym
    • コミットのしくみ ONE PLAYER GAME git loggit diff UT Startup Gym
    • ONE PLAYER GAME$ git init #レポジトリ (スナップショットの集合) の作成$ touch hoge$ git status$ git add hoge$ git status$ git commit -m “first set”$ git log$ git status$ vim hoge #適当に編集$ git status$ git diff$ git add . #untrackedまたはmodifiedをすべてステージング$ git commit -m “modified hoge to ...”$ git log... UT Startup Gym
    • もとに戻す ONE PLAYER GAME• git add を取り消す $ git reset HEAD ※ HEAD: 現在編集中のコミットのこと• ファイル hoge をコミットID 785b... の時点に戻したい $ git checkout 785b hoge -> 785b... の時点のものになった hoge がステージングされる -> 適宜修正して commit する• HEAD^^^ = HEAD から3つ前のコミット• --soft オプションや --hard オプション• 実際は git が吐いてくれるコメント頼りです(丁寧!)。git reset についてもまとめてみる-murankの日記- http://d.hatena.ne.jp/murank/20110327/1301224770 UT Startup Gym
    • Git の本領発揮は複数プレイ MULTI PLAYER GAME • 高度なマージ機能 • 常に最新のコードを共有 • 詳細な編集ログ UT Startup Gym
    • ベアリポジトリ MULTI PLAYER GAME• ワーキングツリーを持たないリポジトリ -> コミットにしか興味を持っていません的な -> 実務的には push, pull が可能なリポジトリ   サーバのベアリポジトリ dev.git clone push pull clone --bare NEW! ローカルのリポジトリ ローカルのリポジトリ ローカルのリポジトリ dev/.git dev/.git dev/.git UT Startup Gym
    • MULTI PLAYER GAME$ vim ~/.ssh/configHost ut-gym.jp IdentityFile /path/to/***.pem$ git clone ubuntu@ut-gym.jp:/home/ubuntu/git/gittest.git$ cd gittest$ ごにょごにょ$ git commit -m “〇〇のために△△を××した”$ git config --global user.name "Your Name"$ git config --global user.email you@example.com$ git pull origin master$ コンフリクトするかも。解消するためにごにょごにょ$ git push origin master$ git log --graph UT Startup Gym
    • コンフリクトCONFLICT (content): Merge conflict in hogeAutomatic merge failed; fix conflicts and then commit the result.$ cat hoge<<<<<<< HEADabc=======hogepiyofuga>>>>>>> 7fhtq23... git 的にどちらを優先すればいいのかわからない状態。 コンフリクトに遭遇した人が責任をもって直します(笑) UT Startup Gym
    • ブランチ ADVANCED MODE• コミット列を分岐することが出来る。 いつでもリリース 完成したので できる状態 合流!master 過去 未来 topic_twitter 新機能開発! UT Startup Gym
    • ブランチ(スロー) ADVANCED MODE• コミット列を分岐することが出来る。 HEAD mastermaster 過去 未来 UT Startup Gym
    • ブランチ(スロー) ADVANCED MODE• コミット列を分岐することが出来る。 HEAD mastermaster 過去 topic_twitter 未来 topic_twitter $ git branch topic_twitter UT Startup Gym
    • ブランチ(スロー) ADVANCED MODE• コミット列を分岐することが出来る。 master HEADmaster 過去 topic_twitter 未来 topic_twitter $ git checkout topic_twitter UT Startup Gym
    • ブランチ(スロー) ADVANCED MODE• コミット列を分岐することが出来る。 master HEADmaster 過去 topic_twitter 未来 topic_twitter $ git add . $git commit -m post to twitter complete! UT Startup Gym
    • ブランチ(スロー) ADVANCED MODE• コミット列を分岐することが出来る。 HEAD mastermaster 過去 topic_twitter 未来 topic_twitter $ git checkout master UT Startup Gym
    • ブランチ(スロー) ADVANCED MODE• コミット列を分岐することが出来る。 HEAD master topic_twittermaster 過去 未来 topic_twitter $ git merge topic_twitter UT Startup Gym
    • 花サプの例 デプロイ master maint pull staging staging topic_mail デプロイ時にマージ topic_twitter push テスト用 デプロイ用 push pull pull master master デプロイ時にマージ staging stagingtopic_mail topic_mail topic_twitterローカル1 ローカル2 UT Startup Gym