PPT - Niigata.scm

Download Report

Transcript PPT - Niigata.scm

ハンズオン!その前に
インターネットには接続できていますか?
SourceTree はインストールしてありますか?
ペアは組めていますか?
やさしいGithub
Niigata.scm feat. NDS
2013/7/6
Niigata.scm
新潟でSCMを広めるた
めに2012年に発足
自己紹介
阿部慎太郎(dictav)
新潟市在住フリーランス
iPhoneアプリ開発
最近髪切りました
素材について
http://github.com/
http://mazenl77.deviantart.com
http://www.iconspedia.com/pack/pry-harware1705/
目的
SourceTreeを使ってバージョン管理のスタート地
点に立つ
AGENDA
VCSとは?
SCMとは?
GitHubとは?
GitHub ハンズオン
VCSとは?
VCS
Version Control System
バージョン管理システムの最も基本的な機能は、
ファイルの作成日時、変更日時、変更点などの履
歴を保管することである。これにより、何度も変
更を加えたファイルであっても、過去の状態や変
更内容を確認したり、変更前の状態を復元するこ
とが容易になる。
http://ja.wikipedia.org/wiki/バージョン管理システム
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 ハンズオン
SCMとは?
SCM
Software Configuration Management
ソフトウェア構成管理
Software
: ソフトウェア
Configuration : 構成
Management
: 管理
Software
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...
Management
ある時点でのソフトウェアを構成する要素すべて
を、識別、再現、追跡出来るようメンバー間で成
果物を共有し、連携を促すための仕組み、ルール
、プロセスを構築し、運用する
Management
ある時点でのソフトウェアを構成する要素すべて
を、識別、再現、追跡出来るようメンバー間で成
果物を共有し、連携を促すための仕組み、ルール
、プロセスを構築し、運用する
1人ならいらないの?
Management
ある時点でのソフトウェアを構成する要素すべて
を、識別、再現、追跡出来るようメンバー間で成
果物を共有し、連携を促すための仕組み、ルール
、プロセスを構築し、運用する
過去の自分と現在の自分は別人なのでメンバー扱
い
VCS入門を読もう!
著者 高野将 (Niigata.scm)
https://github.com/masaru-b-cl/introduction-to-vcs
AGENDA
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!
Gitとは?
Git 公式サイト Pro Git
サルでもわかるGit入門
Gitをはじめからていねいに
Try Git
AGENDA
VCSとは?
SCMとは?
GitHubとは?
GitHub ハンズオン
Githubハンズオン
ハンズオン!その前に
インターネットには接続できていますか?
SourceTree はインストールしてありますか?
ペアは組めていますか?
アカウント作成
http://github.com/
画面構成
ユーザを選択
https://github.com/niigata-scm
リポジトリとは?
管理したいデータの単位
Webサイト
プログラムのソースコード
プロジェクトファイル
それでは始めよう!
リポジトリの作成
Repository name: username.github.io
Description: My Web Site
リポジトリの画面
GitHub Pages
GitHub Pages
プロジェクトのWebサイトを公開できる
usename.github.ioリポジトリを作成すると
http://usename.github.io/ で公開できる
他のリポジトリは
http://usename.github.io/repository_name/ で公開
できる
GitHub Pages
Pageを編集
テンプレートの選択
確認
SourceTree
VCS Git をコントールするGUIツール
セットアップウィザード
セットアップウィザード
セットアップウィザード
セットアップウィザード
セットアップウィザード
セットアップウィザード
clone
リポジトリをあなただけのものに
ブックマーク
画面構成
作業コピー
作業コピー
作業コピー
リポジトリ
作業コピー
実態はリポジトリにある
ディレクトリにあるのはコピー
ファイルを変更して保存してもリポジトリは変更され
ない
安心して壊せる
ハンズオン!
1. README.md を編集して作業コピーを確認
2. 変更されたファイルをステージングに
3. コミット
4. 変更を確認
自己紹介を作ろう
1. 自己紹介ブランチを作成
2. aboutme.htmlを作成
3. index.htmlを編集してaboutmeへのリンクを追加
4. コミット
5. プッシュ
branch
branch
自己紹介
ステージング
commit
commit
コミットメッセージ
コミットは仕事の区切り
自分が何をしたかを記録する
変更内容はログを見れば分かる
変更の意図を明確にする
コミットをする粒度に留意
ログを確認
merge
merge
merge
ブランチの削除
Fork
素晴らしいコンテンツをあなたの手に!
?
Fork
素晴らしいコンテンツをあなたの手に!
Pull Request
お気に入りコンテンツに還元しよう!
他人紹介を作ろう
1. 他人紹介ブランチを作成
2. aboutme.htmlを編集してペアの紹介を追加
3. コミット
4. プッシュ
5. プルリクエスト
Pull
Pull
Gitコマンドとの擦り合わせ
clone (checkout)
status
add
commit
push
pull (fetch and merge)
CONFLICT
Gitの目印
HEAD
Branch ex) master
Tag
Hash
ex) 1.0.1
ex) 6d70bcf2a5f8f1adc82ae...
今回紹介できなかったこと
Markdown
「書きやすくて読みやすいプレーンテキストとして記述した文書を、
妥当な文書へと変換できるフォーマット」(ジョン・グル―バー)
GitHub Flavored Markdown
シンタックスハイライトが強力
Issue
チームでの開発だけでなくて自分の TODO にも
!
Wiki
ソフトウェアではない内容はここに
Bitbucket
もう1つのGitHub
Jekyll
GitHub Pages を活用するもう1つの賢いやり方