ハンズオン!その前に インターネットには接続できていますか? SourceTree はインストールしてありますか? ペアは組めていますか? インターネットには接続できていますか? SourceTree はインストールしてありますか? ペアは組めていますか?
やさしい Github Niigata.scm feat. NDS 2013/7/6 Niigata.scm feat. NDS 2013/7/6
Niigata.scm 新潟で SCM を広めるた めに 2012 年に発足
自己紹介 阿部慎太郎( dictav ) 新潟市在住フリーランス iPhone アプリ開発 最近髪切りました 阿部慎太郎( dictav ) 新潟市在住フリーランス iPhone アプリ開発 最近髪切りました
素材について / /
目的 SourceTree を使ってバージョン管理のスタート地 点に立つ
AGENDA VCS とは? SCM とは? GitHub とは? GitHub ハンズオン VCS とは? SCM とは? GitHub とは? GitHub ハンズオン
VCS とは?
VCS Version Control System バージョン管理システムの最も基本的な機能は、 ファイルの作成日時、変更日時、変更点などの履 歴を保管することである。これにより、何度も変 更を加えたファイルであっても、過去の状態や変 更内容を確認したり、変更前の状態を復元するこ とが容易になる。 バージョン管理システム
VCS とは ドラえもん描いてみればわ かるよ
ドラえもん ver.1 まるかいてちょん まるかいてちょん
ドラえもん ver.2 おまめにめがでて
ドラえもん ver.3 うえきばち うえきばち
ドラえもん ver.4 まるろくがつむいかに
ドラえもん ver.5 ユーフォーが あっちいって こっちいって ユーフォーが あっちいって こっちいって
ドラえもん ver.6 おっこちて おいけがふたつ できました
ドラえもん ver.7 おいけにおふねを うかべたら
ドラえもん ver.8 おそらにみかづき のぼってた
よく描いてみようなんて思 ったな!
VCS を使うと? いつでも状態を戻せる
VCS を使うと? 過去の状態を確認できる
VCS を使うと? 複数のバージョンを比較できる
AGENDA VCS とは? SCM とは? GitHub とは? GitHub ハンズオン VCS とは? SCM とは? GitHub とは? GitHub ハンズオン
SCM とは?
SCM Software Configuration Management ソフトウェア構成管理 Software : ソフトウェア Configuration : 構成 Management : 管理 ソフトウェア構成管理 Software : ソフトウェア Configuration : 構成 Management : 管理
Software HTML, CSS, Javascript, etc... PNG, JPEG, MPEG, etc... Perl, PHP, Ruby, CGI, etc....htaccess, httpd.conf, etc... HTML, CSS, Javascript, etc... PNG, JPEG, MPEG, etc... Perl, PHP, Ruby, CGI, etc....htaccess, httpd.conf, etc...
Configuration どういう配置にするの? public, images, css, etc... どこのサーバーに? URL, ユーザネーム, パスワード どうやって? FTP, WebDAV, Git, etc... どういう配置にするの? public, images, css, etc... どこのサーバーに? URL, ユーザネーム, パスワード どうやって? FTP, WebDAV, Git, etc...
Management ある時点でのソフトウェアを構成する要素すべて を、識別、再現、追跡出来るようメンバー間で成 果物を共有し、連携を促すための仕組み、ルール 、プロセスを構築し、運用する
Management ある時点でのソフトウェアを構成する要素すべて を、識別、再現、追跡出来るようメンバー間で成 果物を共有し、連携を促すための仕組み、ルール 、プロセスを構築し、運用する 1人ならいらないの?1人ならいらないの?
Management ある時点でのソフトウェアを構成する要素すべて を、識別、再現、追跡出来るようメンバー間で成 果物を共有し、連携を促すための仕組み、ルール 、プロセスを構築し、運用する 過去の自分と現在の自分は別人なのでメンバー扱 い ある時点でのソフトウェアを構成する要素すべて を、識別、再現、追跡出来るようメンバー間で成 果物を共有し、連携を促すための仕組み、ルール 、プロセスを構築し、運用する 過去の自分と現在の自分は別人なのでメンバー扱 い
VCS 入門を読もう! 著者 高野将 (Niigata.scm) 著者 高野将 (Niigata.scm)
AGENDA VCS とは? SCM とは? GitHub とは? GitHub ハンズオン VCS とは? SCM とは? GitHub とは? GitHub ハンズオン
GitHub GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Over three million people use GitHub to build amazing things together. OCTOCATS! GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Over three million people use GitHub to build amazing things together. OCTOCATS!
Git とは? Git 公式サイト Pro Git サルでもわかる Git 入門 Git をはじめからていねいに Try Git Git 公式サイト Pro Git サルでもわかる Git 入門 Git をはじめからていねいに Try Git
AGENDA VCS とは? SCM とは? GitHub とは? GitHub ハンズオン VCS とは? SCM とは? GitHub とは? GitHub ハンズオン
Github ハンズオン
ハンズオン!その前に インターネットには接続できていますか? SourceTree はインストールしてありますか? ペアは組めていますか? インターネットには接続できていますか? SourceTree はインストールしてありますか? ペアは組めていますか?
アカウント作成
画面構成 ユーザを選択 ユーザを選択
リポジトリとは? 管理したいデータの単位 Web サイト プログラムのソースコード プロジェクトファイル 管理したいデータの単位 Web サイト プログラムのソースコード プロジェクトファイル
それでは始めよう!
リポジトリの作成 Repository name: username.github.io Description: My Web Site Repository name: username.github.io Description: My Web Site
リポジトリの画面
GitHub Pages
プロジェクトの Web サイトを公開できる usename.github.io リポジトリを作成すると で公開できる 他のリポジトリは で公開 できる プロジェクトの Web サイトを公開できる usename.github.io リポジトリを作成すると で公開できる 他のリポジトリは で公開 できる
GitHub Pages
Page を編集
テンプレートの選択
確認
SourceTree VCS Git をコントールする GUI ツール
セットアップウィザード
clone リポジトリをあなただけのものに
ブックマーク
画面構成 作業コピー
作業コピー 作業コピー リポジトリ
実態はリポジトリにある ディレクトリにあるのはコピー ファイルを変更して保存してもリポジトリは変更され ない 実態はリポジトリにある ディレクトリにあるのはコピー ファイルを変更して保存してもリポジトリは変更され ない 安心して壊せる
ハンズオン! 1. README.md を編集して作業コピーを確認 2. 変更されたファイルをステージングに 3. コミット 4. 変更を確認 1. README.md を編集して作業コピーを確認 2. 変更されたファイルをステージングに 3. コミット 4. 変更を確認
1. 1. 自己紹介ブランチを作成 2. 2.aboutme.html を作成 3. 3.index.html を編集して aboutme へのリンクを追加 コミット プッシュ 自己紹介ブランチを作成 2. 2.aboutme.html を作成 3. 3.index.html を編集して aboutme へのリンクを追加 コミット プッシュ 自己紹介を作ろう
branch
自己紹介
ステージング
commit
コミットメッセージ コミットは仕事の区切り 自分が何をしたかを記録する 変更内容はログを見れば分かる 変更の意図を明確にする コミットをする粒度に留意 コミットは仕事の区切り 自分が何をしたかを記録する 変更内容はログを見れば分かる 変更の意図を明確にする コミットをする粒度に留意
ログを確認
merge
ブランチの削除
Fork 素晴らしいコンテンツをあなたの手に! ?
Pull Request お気に入りコンテンツに還元しよう!
1. 1. 他人紹介ブランチを作成 2. 2.aboutme.html を編集してペアの紹介を追加 コミット プッシュ プルリクエスト 他人紹介ブランチを作成 2. 2.aboutme.html を編集してペアの紹介を追加 コミット プッシュ プルリクエスト 他人紹介を作ろう
Pull
Git コマンドとの擦り合わせ clone (checkout) status add commit push pull (fetch and merge) CONFLICT clone (checkout) status add commit push pull (fetch and merge) CONFLICT
Git の目印 HEAD Branch ex) master Tag ex) Hash ex) 6d70bcf2a5f8f1adc82ae... HEAD Branch ex) master Tag ex) Hash ex) 6d70bcf2a5f8f1adc82ae...
今回紹介できなかったこと
Markdown 「書きやすくて読みやすいプレーンテキストとして記述した文書を、 妥当な文書へと変換できるフォーマット」(ジョン・グル ― バー) GitHub Flavored Markdown シンタックスハイライトが強力 「書きやすくて読みやすいプレーンテキストとして記述した文書を、 妥当な文書へと変換できるフォーマット」(ジョン・グル ― バー) GitHub Flavored Markdown シンタックスハイライトが強力
Issue チームでの開発だけでなくて自分の TODO にも !
Wiki ソフトウェアではない内容はここに
Bitbucket もう1つの GitHub
Jekyll GitHub Pages を活用するもう1つの賢いやり方