Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Git tutorial

1,855 views

Published on

社内勉強会にて使用

  • Be the first to comment

Git tutorial

  1. 1. Git入門 2012/7/28Hiroki Kouchi
  2. 2. 本スライドの概要初心者向けの内容 Gitとはなんぞや 実際にコマンド叩くとどうなるの 必須な操作/覚えておきたい操作などなどをお話します。
  3. 3. 対象者Gitを覚えたい人/使ってみたい人Subversionならわかるって人コマンド覚えたい人Github使ってみたい人
  4. 4. まずは自己紹介name : Hiroki Kouchiage : 26 => 社会人4年目Twitter : @_hkouchi(最近変更しました)work : iOS App Developerhobby : Development => (iOS, Android, Web)
  5. 5. では本編へ
  6. 6. Gitとはなんぞや分散バージョン管理システムLinuxの中の人が開発 Linuxカーネルのソースコード管理を 目的として開発されたらしい (By Wikipedia先生)
  7. 7. 分散型と集中型集中型バージョン管理システム Subversionとか(他を知らない。。。) 中枢となるリポジトリに各々がアクセス リポジトリが壊れると大変な事に
  8. 8. 分散型と集中型分散型バージョン管理システム Gitとか、Mercurialとか(よく知らない) ローカルにリポジトリが設置できる サーバーにもリポジトリが設置できる リポジトリ同士でマージをしながら 開発を行なっていくイメージ
  9. 9. 私のGitの印象難しい→さらっと見ただけで理解できなくて放置GUIならなんとかなるんじゃね→GUI全然 ってないコマンド多すぎ/知らない単語多すぎ
  10. 10. 私のGitの印象GUIはあることにはある(Macだと心配ないんだが・・・) Mac => SourceTree最強 Windows => Tortoise gitあたりが妥当? EclipseのプラグインでEgitなんてのも
  11. 11. 致命的だと感じてた部分学習コストが高い 現場でもGit使えない人が多い... そもそも使ってない現場が多いのでは Subversionと違って考え方が複雑 どのコマンドで何が起きるのか
  12. 12. 確かに難しいけど、 学習コスト以上のメリットがあるんです!
  13. 13. Gitの特徴ローカルでも使えるプロトタイプ作成が簡単リビジョン?なにそれおいしいの? Subversionはリビジョン単位で管理、 Gitはコミット単位で管理。
  14. 14. Gitの特徴コミットするファイルを指定できる→コミットしたくないファイルは無視できる履歴を自由に る事が可能。履歴を変更してしまう事も可能。間違ってコミットしても取り消し可能。
  15. 15. 圧倒的ではないか、 我が軍は!
  16. 16. 難しく考えなくてOKチームで運用しても結局のところ・・・ ファイルを編集する 変更点をアップする 他のメンバーは変更を落としてくるだけ
  17. 17. 以上。
  18. 18. すいませんでした。以下の2つを使いながら説明していくことにしましょう。 Terminal - コマンドを実行してみて覚えよう! SourceTree - GUIは結果確認には最適!
  19. 19. 本日のゴールひとまずの目標はGithubへのアップ Githubは1人でも使える(無料) OSSの宝庫なので知っておくと便利何となくの使い方として参考にどうぞ
  20. 20. では順番に見ていきましょう
  21. 21. initgit init で初期化 .gitというディレクトリが作成される 中身は特に意識する必要はなし プロジェクトの直下で実行する初期化後はgitコマンドでよしなに
  22. 22. commithoge.txtを編集するgit add hoge.txt # indexへ追加 indexに追加されたファイルは commit対象となるgit commit hoge.txt
  23. 23. git add -A 変更を全てindexに追加するgit commit -m “comment” 引数にコメントがつけれる なくてもコメントはつけられます
  24. 24. remotegit remote add origin git://xxxx/hoge.git サーバーにあるgitリポジトリを登録する git:/ の場合も https:/ の場合もある /... /... originって名前は規則ではない originは暗黙の了解になってるだけ (だったはず。。。)
  25. 25. pullgit pullorigin (remote) から変更を取得してmerge→svn updateみたいなコマンド似たようなコマンド→git fetch変更を取得するが、mergeしない
  26. 26. cloneURLからソースコードを落とす場合に使用svn checkout と同じようなコマンドcloneした場合、remoteが登録されている状態になってるgit clone git://xxxx/hogehoge.githttps://xxxx/hogehoge.gitってURLの場合もある
  27. 27. pushgit push origin master remoteのリポジトリへ変更を送信 他のbranchをpushすることも可能 ex). git push origin dev-kouchi
  28. 28. 以上!これでGithubが使える!
  29. 29. もうちょっとだけ1人だとあまり必要ないけど、チーム開発のときに以下の知識は必須です! branch => これは1人のときでも重要 checkout merge
  30. 30. branchソースを枝分かれさせて、別々に保存しておくことができるgit branch dev-kouchi #ブランチ作成 defaultのブランチは master master <=> dev-kouchi間は、 切り替えが可能git branch #ブランチの一覧表示
  31. 31. checkoutbranchの切り替えをコマンドgit checkout dev-kouchi #branchの切り替えsvn checkout ではないよ!同じ単語でも意味が違うので注意されたしgit branch を実行するとbranchの一覧表示
  32. 32. HEADHEAD => 現在のbranchの事HEAD^ => 現在のbranchの親HEAD^^ => 現在のbranchの親の親HEAD^^^...主にcommitの取り消しや巻戻しのときに使用
  33. 33. remote:branchリポジトリをpushしているわけなので、remoteでも作成したbranchが保持されるgit branch -r でリモートの確認ができる -a だとリモートもローカルも全部表示
  34. 34. branch がわかっていれば・・・ git pull origin dev-kouchi dev-kouchiのみpull 引数指定なしだと全部pullする
  35. 35. merge(masterブランチを見てる場合)git merge dev-kouchidev-kouchiの変更点をmasterに反映させるのがmergeコマンド。競合した場合の話はまた後程。
  36. 36. これだけ覚えれば十分!
  37. 37. 他のコマンドgit reset #mergeの取り消しgit rebase #commitを1つずつ反映するgit stash #変更中ファイルを一時的に保存git config #username, email, aliasの設定git tag #tagの設定
  38. 38. 個人でbranchを活用する 新しい機能を追加するとき 新しいライブラリ使ってみたいとき ちょっと違うUIで実装してみたいとき てな感じで、気軽に実験できるよ!
  39. 39. チームでの運用私もどういう手法がいいのかは知りません!何となく脳内にはあるけど、実践したことがない・・・ ↓非常にためになるので参考にどうぞ http://keijinsonyaban.blogspot.jp/2010/10/ successful-git-branching-model.html
  40. 40. まとめ今日覚えた事 Gitとはなんぞや Gitの操作方法 Githubへのpush方法
  41. 41. お疲れ様でした。

×