Top Banner
ハハハハハ ハハハハ ハハハハハハハハハハハハハハハハハハSourceTree ハハハハハハハハハハハハハハハハハハハハハハハハ
90

やさしいGit hub

May 26, 2015

Download

Documents

Shintaro Abe
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: やさしいGit hub

ハンズオン!その前にハンズオン!その前に

インターネットには接続できていますか?

SourceTree はインストールしてありますか?

ペアは組めていますか?

インターネットには接続できていますか?

SourceTree はインストールしてありますか?

ペアは組めていますか?

Page 2: やさしいGit hub

やさしいGithub

やさしいGithub

Niigata.scm feat. NDS2013/7/6

Niigata.scm feat. NDS2013/7/6

Page 3: やさしいGit hub

Niigata.scmNiigata.scm

新潟で SCM を広めるために 2012 年に発足新潟で SCM を広めるために 2012 年に発足

Page 4: やさしいGit hub

自己紹介自己紹介

阿部慎太郎( dictav )

新潟市在住フリーランス

iPhone アプリ開発

最近髪切りました

阿部慎太郎( dictav )

新潟市在住フリーランス

iPhone アプリ開発

最近髪切りました

Page 5: やさしいGit hub

素材について素材について

http://github.com/

http://mazenl77.deviantart.com

http://www.iconspedia.com/pack/pry-harware-1705/

http://github.com/

http://mazenl77.deviantart.com

http://www.iconspedia.com/pack/pry-harware-1705/

Page 6: やさしいGit hub

目的目的

SourceTree を使ってバージョン管理のスタート地点に立つSourceTree を使ってバージョン管理のスタート地点に立つ

Page 7: やさしいGit hub

AGENDAAGENDA

VCS とは?

SCM とは?

GitHub とは?

GitHub ハンズオン

VCS とは?

SCM とは?

GitHub とは?

GitHub ハンズオン

Page 8: やさしいGit hub

VCS とは?VCS とは?

Page 9: やさしいGit hub

VCSVersion Control System

VCSVersion Control System

バージョン管理システムの最も基本的な機能は、ファイルの作成日時、変更日時、変更点などの履歴を保管することである。これにより、何度も変更を加えたファイルであっても、過去の状態や変更内容を確認したり、変更前の状態を復元することが容易になる。

バージョン管理システムの最も基本的な機能は、ファイルの作成日時、変更日時、変更点などの履歴を保管することである。これにより、何度も変更を加えたファイルであっても、過去の状態や変更内容を確認したり、変更前の状態を復元することが容易になる。

http://ja.wikipedia.org/wiki/http://ja.wikipedia.org/wiki/ バージョン管理システムバージョン管理システム

Page 10: やさしいGit hub

VCS とはVCS とは

ドラえもん描いてみればわかるよ

ドラえもん描いてみればわかるよ

Page 11: やさしいGit hub

ドラえもん ver.1ドラえもん ver.1

まるかいてちょん まるかいてちょんまるかいてちょん まるかいてちょん

Page 12: やさしいGit hub

ドラえもん ver.2ドラえもん ver.2

おまめにめがでておまめにめがでて

Page 13: やさしいGit hub

ドラえもん ver.3ドラえもん ver.3

 うえきばち うえきばち うえきばち うえきばち

Page 14: やさしいGit hub

ドラえもん ver.4ドラえもん ver.4

まるろくがつむいかにまるろくがつむいかに

Page 15: やさしいGit hub

ドラえもん ver.5ドラえもん ver.5

 ユーフォーが あっちいって こっちいって ユーフォーが あっちいって こっちいって

Page 16: やさしいGit hub

ドラえもん ver.6ドラえもん ver.6

おっこちて おいけがふたつ できましたおっこちて おいけがふたつ できました

Page 17: やさしいGit hub

ドラえもん ver.7ドラえもん ver.7

おいけにおふねを うかべたらおいけにおふねを うかべたら

Page 18: やさしいGit hub

ドラえもん ver.8ドラえもん ver.8

おそらにみかづき のぼってたおそらにみかづき のぼってた

Page 19: やさしいGit hub

よく描いてみようなんて思ったな!

よく描いてみようなんて思ったな!

Page 20: やさしいGit hub

VCS を使うと?VCS を使うと?

いつでも状態を戻せるいつでも状態を戻せる

Page 21: やさしいGit hub

VCS を使うと?VCS を使うと?

過去の状態を確認できる過去の状態を確認できる

Page 22: やさしいGit hub

VCS を使うと?VCS を使うと?

複数のバージョンを比較できる複数のバージョンを比較できる

Page 23: やさしいGit hub

AGENDAAGENDA

VCS とは?

SCM とは?

GitHub とは?

GitHub ハンズオン

VCS とは?

SCM とは?

GitHub とは?

GitHub ハンズオン

Page 24: やさしいGit hub

SCM とは?SCM とは?

Page 25: やさしいGit hub

SCMSoftware Configuration Management

SCMSoftware Configuration Management

ソフトウェア構成管理

Software : ソフトウェア

Configuration : 構成

Management : 管理

ソフトウェア構成管理

Software : ソフトウェア

Configuration : 構成

Management : 管理

Page 26: やさしいGit hub

SoftwareSoftware

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...

Page 27: やさしいGit hub

ConfigurationConfiguration

どういう配置にするの?

public, images, css, etc...

どこのサーバーに?

URL, ユーザネーム , パスワード

どうやって?

FTP, WebDAV, Git, etc...

どういう配置にするの?

public, images, css, etc...

どこのサーバーに?

URL, ユーザネーム , パスワード

どうやって?

FTP, WebDAV, Git, etc...

Page 28: やさしいGit hub

ManagementManagement

ある時点でのソフトウェアを構成する要素すべてを、識別、再現、追跡出来るようメンバー間で成果物を共有し、連携を促すための仕組み、ルール、プロセスを構築し、運用する

ある時点でのソフトウェアを構成する要素すべてを、識別、再現、追跡出来るようメンバー間で成果物を共有し、連携を促すための仕組み、ルール、プロセスを構築し、運用する

Page 29: やさしいGit hub

ManagementManagement

ある時点でのソフトウェアを構成する要素すべてを、識別、再現、追跡出来るようメンバー間で成果物を共有し、連携を促すための仕組み、ルール、プロセスを構築し、運用する

ある時点でのソフトウェアを構成する要素すべてを、識別、再現、追跡出来るようメンバー間で成果物を共有し、連携を促すための仕組み、ルール、プロセスを構築し、運用する

1人ならいらないの?1人ならいらないの?1人ならいらないの?1人ならいらないの?

Page 30: やさしいGit hub

ManagementManagement

ある時点でのソフトウェアを構成する要素すべてを、識別、再現、追跡出来るようメンバー間で成果物を共有し、連携を促すための仕組み、ルール、プロセスを構築し、運用する

過去の自分と現在の自分は別人なのでメンバー扱い

ある時点でのソフトウェアを構成する要素すべてを、識別、再現、追跡出来るようメンバー間で成果物を共有し、連携を促すための仕組み、ルール、プロセスを構築し、運用する

過去の自分と現在の自分は別人なのでメンバー扱い

Page 31: やさしいGit hub

VCS 入門を読もう!VCS 入門を読もう!

著者 高野将 (Niigata.scm)

https://github.com/masaru-b-cl/introduction-to-vcs

著者 高野将 (Niigata.scm)

https://github.com/masaru-b-cl/introduction-to-vcs

Page 32: やさしいGit hub

AGENDAAGENDA

VCS とは?

SCM とは?

GitHub とは?

GitHub ハンズオン

VCS とは?

SCM とは?

GitHub とは?

GitHub ハンズオン

Page 33: やさしいGit hub

GitHubGitHub

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!

Page 35: やさしいGit hub

AGENDAAGENDA

VCS とは?

SCM とは?

GitHub とは?

GitHub ハンズオン

VCS とは?

SCM とは?

GitHub とは?

GitHub ハンズオン

Page 36: やさしいGit hub

Github ハンズオンGithub ハンズオン

Page 37: やさしいGit hub

ハンズオン!その前にハンズオン!その前に

インターネットには接続できていますか?

SourceTree はインストールしてありますか?

ペアは組めていますか?

インターネットには接続できていますか?

SourceTree はインストールしてありますか?

ペアは組めていますか?

Page 38: やさしいGit hub

アカウント作成アカウント作成

http://github.com/http://github.com/

Page 39: やさしいGit hub

画面構成画面構成

ユーザを選択ユーザを選択https://github.com/niigata-scm

ユーザを選択ユーザを選択https://github.com/niigata-scm

Page 40: やさしいGit hub

リポジトリとは?リポジトリとは?

管理したいデータの単位

Web サイト

プログラムのソースコード

プロジェクトファイル

管理したいデータの単位

Web サイト

プログラムのソースコード

プロジェクトファイル

Page 41: やさしいGit hub

それでは始めよう!それでは始めよう!

Page 42: やさしいGit hub

リポジトリの作成リポジトリの作成Repository name: username.github.io

Description: My Web Site

Repository name: username.github.io

Description: My Web Site

Page 43: やさしいGit hub

リポジトリの画面リポジトリの画面

Page 44: やさしいGit hub

GitHub PagesGitHub Pages

Page 45: やさしいGit hub

GitHub PagesGitHub Pages

プロジェクトの Web サイトを公開できる

usename.github.io リポジトリを作成すると http://usename.github.io/ で公開できる

他のリポジトリは http://usename.github.io/repository_name/ で公開できる

プロジェクトの Web サイトを公開できる

usename.github.io リポジトリを作成すると http://usename.github.io/ で公開できる

他のリポジトリは http://usename.github.io/repository_name/ で公開できる

Page 46: やさしいGit hub

GitHub PagesGitHub Pages

Page 47: やさしいGit hub

Page を編集Page を編集

Page 48: やさしいGit hub

テンプレートの選択テンプレートの選択

Page 49: やさしいGit hub

確認確認

Page 50: やさしいGit hub

SourceTreeSourceTreeVCS Git をコントールする GUI ツールVCS Git をコントールする GUI ツール

Page 51: やさしいGit hub

セットアップウィザードセットアップウィザード

Page 52: やさしいGit hub

セットアップウィザードセットアップウィザード

Page 53: やさしいGit hub

セットアップウィザードセットアップウィザード

Page 54: やさしいGit hub

セットアップウィザードセットアップウィザード

Page 55: やさしいGit hub

セットアップウィザードセットアップウィザード

Page 56: やさしいGit hub

セットアップウィザードセットアップウィザード

Page 57: やさしいGit hub

cloneリポジトリをあなただけのものに

cloneリポジトリをあなただけのものに

Page 58: やさしいGit hub

ブックマークブックマーク

Page 59: やさしいGit hub

画面構成画面構成

作業コピー作業コピー

Page 60: やさしいGit hub

作業コピー作業コピー

作業コピー作業コピー

リポジトリリポジトリ

Page 61: やさしいGit hub

作業コピー作業コピー

実態はリポジトリにある

ディレクトリにあるのはコピー

ファイルを変更して保存してもリポジトリは変更されない

実態はリポジトリにある

ディレクトリにあるのはコピー

ファイルを変更して保存してもリポジトリは変更されない

安心して壊せる安心して壊せる

Page 62: やさしいGit hub

ハンズオン!ハンズオン!

1.README.md を編集して作業コピーを確認

2.変更されたファイルをステージングに

3.コミット

4.変更を確認

1.README.md を編集して作業コピーを確認

2.変更されたファイルをステージングに

3.コミット

4.変更を確認

Page 63: やさしいGit hub

1. 自己紹介ブランチを作成

2. aboutme.html を作成

3. index.html を編集して aboutme へのリンクを追加

4. コミット

5. プッシュ

1. 自己紹介ブランチを作成

2. aboutme.html を作成

3. index.html を編集して aboutme へのリンクを追加

4. コミット

5. プッシュ

自己紹介を作ろう自己紹介を作ろう

Page 64: やさしいGit hub

branchbranch

Page 65: やさしいGit hub

branchbranch

自己紹介自己紹介

Page 66: やさしいGit hub

ステージングステージング

Page 67: やさしいGit hub

commitcommit

Page 68: やさしいGit hub

commitcommit

Page 69: やさしいGit hub

コミットメッセージコミットメッセージ

コミットは仕事の区切り

自分が何をしたかを記録する

変更内容はログを見れば分かる

変更の意図を明確にする

コミットをする粒度に留意

コミットは仕事の区切り

自分が何をしたかを記録する

変更内容はログを見れば分かる

変更の意図を明確にする

コミットをする粒度に留意

Page 70: やさしいGit hub

ログを確認ログを確認

Page 71: やさしいGit hub

mergemerge

Page 72: やさしいGit hub

mergemerge

Page 73: やさしいGit hub

mergemerge

Page 74: やさしいGit hub

ブランチの削除ブランチの削除

Page 75: やさしいGit hub
Page 76: やさしいGit hub

Fork素晴らしいコンテンツをあなたの手に!

Fork素晴らしいコンテンツをあなたの手に!

??

Page 77: やさしいGit hub

Fork素晴らしいコンテンツをあなたの手に!

Fork素晴らしいコンテンツをあなたの手に!

Page 78: やさしいGit hub

Pull Requestお気に入りコンテンツに還元しよう!

Pull Requestお気に入りコンテンツに還元しよう!

Page 79: やさしいGit hub

1. 他人紹介ブランチを作成

2. aboutme.html を編集してペアの紹介を追加

3. コミット

4. プッシュ

5. プルリクエスト

1. 他人紹介ブランチを作成

2. aboutme.html を編集してペアの紹介を追加

3. コミット

4. プッシュ

5. プルリクエスト

他人紹介を作ろう他人紹介を作ろう

Page 80: やさしいGit hub

PullPull

Page 81: やさしいGit hub

PullPull

Page 82: やさしいGit hub

Git コマンドとの擦り合わせGit コマンドとの擦り合わせ

clone (checkout)

status

add

commit

push

pull (fetch and merge)

CONFLICT

clone (checkout)

status

add

commit

push

pull (fetch and merge)

CONFLICT

Page 83: やさしいGit hub

Git の目印Git の目印

HEAD

Branch ex) master

Tag ex) 1.0.1

Hash ex) 6d70bcf2a5f8f1adc82ae...

HEAD

Branch ex) master

Tag ex) 1.0.1

Hash ex) 6d70bcf2a5f8f1adc82ae...

Page 84: やさしいGit hub

今回紹介できなかったこと今回紹介できなかったこと

Page 85: やさしいGit hub

MarkdownMarkdown

「書きやすくて読みやすいプレーンテキストとして記述した文書を、妥当な文書へと変換できるフォーマット」(ジョン・グル―バー)

GitHub Flavored Markdown

シンタックスハイライトが強力

「書きやすくて読みやすいプレーンテキストとして記述した文書を、妥当な文書へと変換できるフォーマット」(ジョン・グル―バー)

GitHub Flavored Markdown

シンタックスハイライトが強力

Page 86: やさしいGit hub

IssueIssue

チームでの開発だけでなくて自分の TODO にも!チームでの開発だけでなくて自分の TODO にも!

Page 87: やさしいGit hub

WikiWiki

ソフトウェアではない内容はここにソフトウェアではない内容はここに

Page 88: やさしいGit hub

BitbucketBitbucket

もう1つの GitHubもう1つの GitHub

Page 89: やさしいGit hub

JekyllJekyll

GitHub Pages を活用するもう1つの賢いやり方GitHub Pages を活用するもう1つの賢いやり方

Page 90: やさしいGit hub