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.
PBLのための
はじめてのGit
李充根
2014/4/15 はじめてのGit 1
今日の流れ
1. Gitとは?
2. ひとりでGitをつかってみる
3. Gitホスティングサービスをつかってみる
1. リモートリポジトリをつかってみる
2. ふたりでGitをつかってみる
4. べんりなつかいかた
5. より実践的に
201...
こんな経験
• ソースを戻したい
2014/4/15 はじめてのGit 3
先週
今週
こんな経験
• どれが最新かわからない
• 間違って上書きした
2014/4/15 はじめてのGit 4
ないですか?
1. Gitとは?
• 分散型バージョン管理システム(VCS)の一つ
– 非分散型(集中型)
• CVS
• Subversion
– 分散型
• Git
• Mercurial
• 何が違う?そもそもバージョン管理システムって?
2014/4...
研究室での開発というと
• コピペ駆動開発
• USBメモリ管理システム
• NASバージョン管理システム
……
ダメ!絶対!!
正しい開発手法を!
2014/4/15 はじめてのGit 6
バージョン管理システム
• 読んで字のごとくファイルのバージョンを管理するシステム
2014/4/15 はじめてのGit 7
変更 変更
最新
一個古い
二個古い
最新 最新
一個古い
集中型と分散型
2014/4/15 はじめてのGit 8
分散型集中型
その他色々
形がある
話を戻してGitとは?
• 分散型バージョン管理システム(VCS)の一つ
– 非分散型(集中型)
• CVS
• Subversion
– 分散型
• Git
• Mercurial
• とりあえずいくつか種類があることだけでも
2014/4/...
Gitの特徴
• ローカルリポジトリとリモートリポジトリ
– リモートに繋がなくてもコミットできる!
– 幅広い運用!
– 自由度が高い!
• と言われてもわからないと思うので
– とりあえずすげーやつ
– 最近のはやり
• ぐらいの認識でいい...
まとめ
• とりあえず自動で履歴を残してくれるすごいツール
• プロジェクト開発で普通に使う
• 種類はいくつかあるけどGitがはやってる
• 研究室でもソースの管理しよう
2014/4/15 はじめてのGit 11
2. ひとりでGitをつかってみる
• 導入
– Windowsの場合
• http://git-scm.com/
• 個々で実行ファイルをDLしてインストール
– Linuxの場合
• yumやapt-getなどで
• ソースからmake
–...
基本的な使い方
• 現在いるディレクトリに新しいリポジトリを作る
– git init
• gitの管理領域にファイルを追加・更新する
– git add 【ファイル名】
• リポジトリに更新をコミットする
– git commit –m “【...
実際につかってみよう
• ホームディレクトリに新しいディレクトリ「moshiken」を
追加する
• 新しいローカルリポジトリを作成する
• ディレクトリの中に入って「sample.txt」を作成
• gitに追加してコミットしてみる
• ファ...
ブランチをつかってみる
• ブランチとは
– Gitで別々の履歴を管理できる機能
– 例えばひとつのソースコードに対して、あるアルゴリズ
ムを試したいけど本運用するかわからない時、ブラン
チを分けてソースを追加し、検証が終わった段階で統
合する...
ブランチをつかってみよう
• さっき作成したリポジトリでブランチを作って切り替える
• 新しいブランチでコミットする
• もう一度masterブランチに戻って変更した修正がないこと
を確認する
2014/4/15 はじめてのGit 16
3. Gitホスティングサービスをつかってみる
• Gitをもっと便利に使うためにホスティングサービスが有る
– リモートのリポジトリを共有できる
– 他の人と連携して使うことができる
• 有名なものに下記のものがある
– GitHub:Git...
3.1. リモートリポジトリをつかってみる
• 基本は最初の演習と同じ
• コミットした後に、今度はリモートに上げる
• リモートを操作するコマンドは次の通り
• ローカルのリポジトリをリモートに送る
– git push origin mas...
実際にリモートをつかってみる
• GitHubに登録する
• 新しいリポジトリを作成する
• 最初の演習で作ったリポジトリをpushしてみる
• ローカルのファイルを更新して再度pushしてみる
2014/4/15 はじめてのGit 19
4. ふたりでGitをつかってみる
• お互いのリポジトリをpush-pullしあってソースコードを共
有することができる
• せっかくGitHubに登録したので直接ローカル同士ではなく
リモートを介して共有してみよう
• 基本は今までと同じ
...
二人で開発してみる
• ペアを組んでください
• まず片方がGitHubにリポジトリを作る
• ローカルにもリポジトリを作って、リモートにpushする
• もう片方はリモートからcloneする
– git clone 【URL】
• 片方がソー...
便利な使い方
• Gitの状態を確認したい
– git status
• 今までのコミットログを見たい
– git log
• コマンドじゃ使いにくい
– SourceTree
– TourtoisGit
• 他の人がpushする前に確認したい...
より実践的に
• Gitは色々と自由がきく分、修得するまでに時間がかかる
• 人によって使い方、構成等は違う
– git flow,github flowなど
• まずは今日覚えたことからつかって慣れていこう
• GitHub等便利なサービスが...
その他
• 本当はもっと色々教えたかったけど多分これ以上はパンク
するだろうから残りはゆっくり復習しながら覚えてね
• 研究室内Gitサーバ建てたいとかやりたいことあったら気軽
に相談してね
• もっと色々やりたいけどナンカ要望ある?
– TD...
Upcoming SlideShare
Loading in …5
×

PBLのためのはじめてのGit

451 views

Published on

研究室の後輩にハンズオンした時の資料
タイトルのPBLのためは半分釣り
普通にGitの初歩の説明してるだけ

Published in: Technology
  • Be the first to comment

PBLのためのはじめてのGit

  1. 1. PBLのための はじめてのGit 李充根 2014/4/15 はじめてのGit 1
  2. 2. 今日の流れ 1. Gitとは? 2. ひとりでGitをつかってみる 3. Gitホスティングサービスをつかってみる 1. リモートリポジトリをつかってみる 2. ふたりでGitをつかってみる 4. べんりなつかいかた 5. より実践的に 2014/4/15 はじめてのGit 2
  3. 3. こんな経験 • ソースを戻したい 2014/4/15 はじめてのGit 3 先週 今週
  4. 4. こんな経験 • どれが最新かわからない • 間違って上書きした 2014/4/15 はじめてのGit 4 ないですか?
  5. 5. 1. Gitとは? • 分散型バージョン管理システム(VCS)の一つ – 非分散型(集中型) • CVS • Subversion – 分散型 • Git • Mercurial • 何が違う?そもそもバージョン管理システムって? 2014/4/15 はじめてのGit 5
  6. 6. 研究室での開発というと • コピペ駆動開発 • USBメモリ管理システム • NASバージョン管理システム …… ダメ!絶対!! 正しい開発手法を! 2014/4/15 はじめてのGit 6
  7. 7. バージョン管理システム • 読んで字のごとくファイルのバージョンを管理するシステム 2014/4/15 はじめてのGit 7 変更 変更 最新 一個古い 二個古い 最新 最新 一個古い
  8. 8. 集中型と分散型 2014/4/15 はじめてのGit 8 分散型集中型 その他色々 形がある
  9. 9. 話を戻してGitとは? • 分散型バージョン管理システム(VCS)の一つ – 非分散型(集中型) • CVS • Subversion – 分散型 • Git • Mercurial • とりあえずいくつか種類があることだけでも 2014/4/15 はじめてのGit 9 今日は説明しない (社畜になれば使うだろう) : 履歴は全部サーバで管理 : 個々の環境で管理
  10. 10. Gitの特徴 • ローカルリポジトリとリモートリポジトリ – リモートに繋がなくてもコミットできる! – 幅広い運用! – 自由度が高い! • と言われてもわからないと思うので – とりあえずすげーやつ – 最近のはやり • ぐらいの認識でいいです 2014/4/15 はじめてのGit 10
  11. 11. まとめ • とりあえず自動で履歴を残してくれるすごいツール • プロジェクト開発で普通に使う • 種類はいくつかあるけどGitがはやってる • 研究室でもソースの管理しよう 2014/4/15 はじめてのGit 11
  12. 12. 2. ひとりでGitをつかってみる • 導入 – Windowsの場合 • http://git-scm.com/ • 個々で実行ファイルをDLしてインストール – Linuxの場合 • yumやapt-getなどで • ソースからmake – Macの場合 • わからない(自分で調べて) • 多分MacPortsとかHomeBlewとか 2014/4/15 はじめてのGit 12
  13. 13. 基本的な使い方 • 現在いるディレクトリに新しいリポジトリを作る – git init • gitの管理領域にファイルを追加・更新する – git add 【ファイル名】 • リポジトリに更新をコミットする – git commit –m “【メッセージ】” 2014/4/15 はじめてのGit 13
  14. 14. 実際につかってみよう • ホームディレクトリに新しいディレクトリ「moshiken」を 追加する • 新しいローカルリポジトリを作成する • ディレクトリの中に入って「sample.txt」を作成 • gitに追加してコミットしてみる • ファイルに文字を追加して再度コミットしてみる 2014/4/15 はじめてのGit 14
  15. 15. ブランチをつかってみる • ブランチとは – Gitで別々の履歴を管理できる機能 – 例えばひとつのソースコードに対して、あるアルゴリズ ムを試したいけど本運用するかわからない時、ブラン チを分けてソースを追加し、検証が終わった段階で統 合することができる 2014/4/15 はじめてのGit 15 master(デフォルトのブランチ) new-branch git branch 【ブランチ名】 or git checkout –b 【ブランチ名】
  16. 16. ブランチをつかってみよう • さっき作成したリポジトリでブランチを作って切り替える • 新しいブランチでコミットする • もう一度masterブランチに戻って変更した修正がないこと を確認する 2014/4/15 はじめてのGit 16
  17. 17. 3. Gitホスティングサービスをつかってみる • Gitをもっと便利に使うためにホスティングサービスが有る – リモートのリポジトリを共有できる – 他の人と連携して使うことができる • 有名なものに下記のものがある – GitHub:Gitの火付け役 – Bitbucket:無料でプライベートリポジトリ使える – GitBreak:日本製 2014/4/15 はじめてのGit 17
  18. 18. 3.1. リモートリポジトリをつかってみる • 基本は最初の演習と同じ • コミットした後に、今度はリモートに上げる • リモートを操作するコマンドは次の通り • ローカルのリポジトリをリモートに送る – git push origin master • リモートのリポジトリをローカルに反映させる – git fetch – git merge origin/master 2014/4/15 はじめてのGit 18 = git pull
  19. 19. 実際にリモートをつかってみる • GitHubに登録する • 新しいリポジトリを作成する • 最初の演習で作ったリポジトリをpushしてみる • ローカルのファイルを更新して再度pushしてみる 2014/4/15 はじめてのGit 19
  20. 20. 4. ふたりでGitをつかってみる • お互いのリポジトリをpush-pullしあってソースコードを共 有することができる • せっかくGitHubに登録したので直接ローカル同士ではなく リモートを介して共有してみよう • 基本は今までと同じ • ただし、同じ場所を変更した時競合が起こりえる 2014/4/15 はじめてのGit 20
  21. 21. 二人で開発してみる • ペアを組んでください • まず片方がGitHubにリポジトリを作る • ローカルにもリポジトリを作って、リモートにpushする • もう片方はリモートからcloneする – git clone 【URL】 • 片方がソースを編集してpushする • もう片方はpullしてみて編集が反映されるか確認する • 二人で同じ場所を編集して、競合が起こるとどうなるか 確認する 2014/4/15 はじめてのGit 21
  22. 22. 便利な使い方 • Gitの状態を確認したい – git status • 今までのコミットログを見たい – git log • コマンドじゃ使いにくい – SourceTree – TourtoisGit • 他の人がpushする前に確認したい – pull request(今日は説明しない) 2014/4/15 はじめてのGit 22
  23. 23. より実践的に • Gitは色々と自由がきく分、修得するまでに時間がかかる • 人によって使い方、構成等は違う – git flow,github flowなど • まずは今日覚えたことからつかって慣れていこう • GitHub等便利なサービスがあるからそういったものは積 極的に利用しよう • わからないことは恐れずに聞いて 2014/4/15 はじめてのGit 23
  24. 24. その他 • 本当はもっと色々教えたかったけど多分これ以上はパンク するだろうから残りはゆっくり復習しながら覚えてね • 研究室内Gitサーバ建てたいとかやりたいことあったら気軽 に相談してね • もっと色々やりたいけどナンカ要望ある? – TDD(テスト駆動開発) – アジャイル(XP、スクラム) – 継続的インテグレーション(Jenkins) Let’s Try!! 2014/4/15 はじめてのGit 24

×