Git, Github超入門
Upcoming SlideShare
Loading in...5
×
 

Git, Github超入門

on

  • 1,095 views

Gitの勉強会をする機会があったのでその資料をアップします ...

Gitの勉強会をする機会があったのでその資料をアップします

I had a opportunity to open a small study session about Git and Github so I just uploaded the materials here.

Statistics

Views

Total Views
1,095
Views on SlideShare
1,081
Embed Views
14

Actions

Likes
6
Downloads
13
Comments
0

2 Embeds 14

http://s.deeeki.com 13
http://www.slideee.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

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, Github超入門 Git, Github超入門 Presentation Transcript

    • , 超入門 @tstomoki
    • 目次 • • • 関連ツール • 概念 • 基本的なコマンド • 練習 https://github.com/darashi/horesa.se
    • とは • グループ開発用のVersion管理システム – Linuxの生みの親Linus Torvalds氏が開発 (現在のメンテナンスは濱野純氏) • 他のVersion管理システムとの比較 時間軸的には Linus TorvaldsがNVIDIAに対し中指を突き立てF発言(Gigazine) Linus君がボクを後継者に指名した理由 参考 TortoiseCVS
    • なぜ を使うのか • が一番優れているから エディタ戦争(wiki) 参考 Git 対 Subversion: 長引く争い Share率(左からBazzar, CVS, Git, Mercurial, Subversion) Git とSubversionが要求される職の相対的な成長度
    • と の違い • – 単一リポジトリ – Commitしたら即反映 – Addするのは新規にファイルを追加するときだけ – リビジョン番号は数字 – 考えるのは「ローカル」と「リポジトリ」の2つだけ • – 分散リポジトリ(マスターは1つ) – Commitしても個人リポジトリにしか反映されない(pushすると反映) – Commit前には毎回addする必要あり – リビジョン番号はハッシュ値 – 考えるのは「ローカル」と「インデックス」と「個人リポジトリ」、「マスターリポジト リ」の4つ 参考 subversionを使っていた人がgit便利だなと感じたこと
    • の概念 リポジトリ ローカル ローカル ローカル Commit/update Commit/update Commit/update ・ネット環境がないとcommitができない ・リポジトリの肥大化
    • の概念 マスターリポジトリ 個人リポジトリ 個人リポジトリ 個人リポジトリ Push/fetch merge or rebase / commit ローカル ローカル ローカル インデックス インデックス インデックス Push/fetch Push/fetch merge or rebase / commit merge or rebase / commit add add addファイル更新 ファイル更新 ファイル更新
    • の概念 マスターリポジトリ 個人リポジトリ 個人リポジトリ 個人リポジトリ Push/fetch merge or rebase / commit ローカル ローカル ローカル インデックス インデックス インデックス Push/fetch Push/fetch merge or rebase / commit merge or rebase / commit add add addファイル更新 ファイル更新 ファイル更新 ここまでローカルで完結
    • の概念 • branch機能 – 並行して行われる複数の機能追加やバージョン管理支援機能 サルでもわかるGit入門「ブランチとは」引用: https://github.com/darashi/horesa.se
    • とは • Gitリポジトリのホスティングサービス – 開発者やチームが高速で良い品質のコードを生み出すためのコラボレー ション機能の提供 • 革新的機能(科学者達の化学反応、創発) – Fork – Pull request – Issue • 開発されている言語 – Ruby on Rails – node – jQuery – Symfony2 – Bootstrap – elixir, etc Github https://github.com/darashi/horesa.se
    • 関連ツール • GUIツール – Source Tree, GitX – EGit • テスト – • デプロイ – – Fabric – Cinnamon(https://github.com/kentaro/cinnamon) 参考 Jenkinsを本気で怒らせたらこうなる ぼくとJenkinsおじさんの360日戦争
    • 基本的なコマンド • 代表的なコマンドをいくつか – git init (gitの初期化) – git status (現在の状況表示) (息を吸うように「git status」、なんならaliasしちゃいましょう) – git add (fileをindexに追加) – git commit (fileをローカルリポジトリに追加) (svnから来てる人がよくやるgit commit –aは御法度) – git diff (差分の確認) – git branch(branchの確認) (息を吐くように「git branch」、「すいません、違うブランチにpushしちゃいました」はよくあ るGit事故Top3) – git merge (branchのマージ) – git rebase (branchのrebase) Git 7つの心構え参考:
    • 練習 • 練習用リポジトリをforkして使ってください • 内容としては – fizzbuzz.py (アルゴリズムの変更、可読化) – novel.txt (小説の作成) – typos.txt (誤字脱字の修正) • 好きなようにやってcommit等しながら学ぶスタイル • git status, add, commit, reset, revert, log, merge, rebase, stash, reflog, cherry-pick, conflict くらいが見れればいいかなと。
    • 環境設定 • windows, Mac, ubuntuの初期環境設定については簡単にま とめました → • 自分の環境に合わせて好きなクライアント等でやってみてく ださい • リポジトリの作り方とかも色々 – zshの設定と.zshrcをgit,dropboxでマシン別に一元管理する方法 – Ubuntu上にgitサーバの構築 gitの初期設定まとめ
    • 参考・推薦サイト等 • サイト – gitとsubversionのコマンド対応表 (subversionから来た人はここから) – Git初心者が見るべきサイトまとめ (この辺全部見とけばどうにかなる) – チーム開発に必要なgit コマンドを神速で習得しよう!-酒と泪とRubyとRailsと (効率的 に学べる気がする) – LearnGitBranching (GitのBranchをクイズ形式で学べるサイト) • slideshare, SpeakerDeck – いつやるの?Git入門 (これみればGit内部の動きが理解できる) – こわくないGit (branch, merge, rebase についての恐怖をなくしたいならこれ) – Git 7つの心構え (rebaseについてちゃんと学べる) • 参考図書 – 大塚弘記, 「GitHub 実践入門- Pull Requestによる開発の変革」, 技術評論社