SlideShare uma empresa Scribd logo
1 de 60
Baixar para ler offline
Git 初心者講座 by Forkwell
2016/12/21(水)@grooves
自己紹介
● 名前: 正徳 巧
● twitter: 神速(@sinsoku_listy)
● github: sinsoku
● 所属: 株式会社grooves
● 言語: Ruby, Node.js, Elixir
Twitter
GitHub
バージョン
管理
Git/GitHub
なぜバージョン管理システムを使
うのか?
履歴が見られる
いつ 誰が どこを
理由: XXX のバグを修正
過去の状態に戻せる
複数人で作業ができる
マージ
(統合)
複数バージョンを管理できる
バージョン 1系
バージョン 2系
実験的な作業を行える
安定版
開発版
実験的な作業を行える
安定版
実験的な作業を行える
安定版
開発版
ファイルを安心して変更できる
どんな仕組み?
Project
README
src
リポジトリ
作業ディレクトリ
Project
README
src
リポジトリ
作業ディレクトリ
save 1
Project
README
src
リポジトリ
作業ディレクトリ
save 1 save 2
Project
README
src
リポジトリ
作業ディレクトリ
save 1 save 2 save 3
バージョン
管理
Git/GitHub
git の特徴
分散型 インデックス ブランチ・タグ
リポジトリ
README Hello.java README Hello.java
履歴の作成
作業コピーの
更新
作業コピー
集中型(svn)
README
の追加
Hello.java
の実装
README
の編集
rev: 1
rev: 2
rev: 3
リポジトリ
集中型(svn)
リポジトリ
README Hello.java
履歴の作成
作業コピーの
更新
作業コピー
分散型(git)
リポジト
リ
履歴の送信
履歴の受信
作業コピー リポジト
リ
履歴の作成
作業コピー
の更新
分散型(git)
リポジト
リ
履歴の送信
履歴の受信
作業コピー リポジト
リ
履歴の作成
作業コピー
の更新
リポジト
リ
中央
ローカル
分散型(git)
リポジトリ
リポジトリ
中央
README
の追加
README
の追加
rev:
1af9b
rev:
1af9b
リポジトリ リポジトリ
README
の追加
リポジトリ
中央
README
の追加
README
の追加
rev:
1af9b
rev:
1af9b
rev:
1af9b
リポジトリ リポジトリ
README
の追加
Hello.java
の実装
rev:
9d6aa
リポジトリ
中央
README
の追加
READMEの
編集
README
の追加
rev:
1af9b
rev:
5fde8
rev:
1af9b
rev:
1af9b
リポジトリ リポジトリ
README
の追加
rev:
1af9b
Hello.java
の実装
rev:
9d6aa
リポジトリ
中央
README
の追加
rev:
1af9b
READMEの
編集
rev:
5fde8
README
の追加
rev:
1af9b
Hello.java
の実装
rev:
9d6aa
README
の編集
rev:
5fde8
rev: 5fde8?
リポジトリ リポジトリ
README
の追加
rev:
1af9b
Hello.java
の実装
rev:
9d6aa
リポジトリ
中央
README
の追加
rev:
1af9b
READMEの
編集
rev:
5fde8
README
の追加
rev:
1af9b
Hello.java
の実装
rev:
9d6aa
README
の編集
rev:
5fde8
README
の追加
Hello.java
の実装
README
の編集
rev: 1
rev: 2
rev: 3
リポジトリ
集中型(svn)
39fde84ab553783eab2b0443b7fe7300eb65119d
SHA-1 変換器
コミット内容(日時、変更者 など)
16進数40桁
SHA-1 変換器
コミット内容(日時、変更者 など)
16進数40桁
39fde84ab553783eab2b0443b7fe7300eb65119d
git の特徴
分散型 インデックス ブランチ・タグ
作業
ディレクトリ
インデックス リポジトリ
・
・
・
作業
ディレクトリ
インデックス リポジトリ
・
・
・
add
作業
ディレクトリ
インデックス リポジトリ
・
・
・
commit
作業
ディレクトリ
インデックス リポジトリ
・
・
・
add
作業
ディレクトリ
インデックス リポジトリ
・
・
・
commit
なぜインデックスが
あるのか?
行単位でのコミット コミット前の確認
git の特徴
分散型 インデックス ブランチ・タグ
rev: 1af9b rev: 5fde8
$ git branch stable 5fde8
$ git checkout stable
ブランチ
stable
rev: 1af9b rev: 5fde8
$ (ファイルの変更)
$ git add
ブランチ
stable
rev: 1af9b rev: 5fde8 rev: 9d6aa
$ git commit -m “update”
ブランチ
stable
3種類のタグ
軽量タグ
アノテーション
付きタグ
署名付きタグ
軽量タグ
v1.0.0
rev: 1af9b rev: 5fde8
$ git tag v1.0.0 5fde8
軽量タグ
v1.0.0
rev: 1af9b rev: 5fde8 rev: 9d6aa
$ git commit -m “update”
Gitのホスティングサービス
Octocat
● 中央リポジトリを置くことができる
● 公開リポジトリ無制限
(非公開は有料 )
● Web上でファイルが表示できる
● 使い易い画面
● Pull Request(プルリクエスト)
リポジトリ
リポジトリ
Pull Request
リポジトリ
リポジトリ
Pull Request
リポジトリ
アクセス権限がない
リポジトリ
リポジトリ
Pull Request
リポジトリ
Fork
リポジトリ
リポジトリ
Pull Request
リポジトリ
Fork
リポジトリ
リポジトリ
リポジトリ
Pull Request
リポジトリ
Fork
リポジトリ
push
commit
リポジトリ
リポジトリ
Pull Request
リポジトリ
Fork
リポジトリ
Pull Request
更に勉強する際の参考資料
● サルでもわかるGit入門
○ http://www.backlog.jp/git-guide/
● Pro Git Book
○ https://git-scm.com/book/ja/v2
● Try Git: Git Tutorial
○ https://try.github.io
引用: サルでもわかるGit入門
ご清聴ありがとうございました

Mais conteúdo relacionado

Mais procurados

GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)Wataru NOGUCHI
 
日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 githubTomohiko Himura
 
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料ichikaway
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門to_ueda
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門Tomohiko Himura
 
GitHub Releasesからインストールしたコマンドを管理する
GitHub Releasesからインストールしたコマンドを管理するGitHub Releasesからインストールしたコマンドを管理する
GitHub Releasesからインストールしたコマンドを管理するjiro4989
 
Git 入門
Git 入門Git 入門
Git 入門y-uti
 
社内LT大会#3 2016-4-28 Vuls
社内LT大会#3 2016-4-28 Vuls社内LT大会#3 2016-4-28 Vuls
社内LT大会#3 2016-4-28 VulsKota Kanbe
 
デザイナのためのGit入門
デザイナのためのGit入門デザイナのためのGit入門
デザイナのためのGit入門dsuke Takaoka
 
ROS2.0時代に備えたc++11/14
ROS2.0時代に備えたc++11/14ROS2.0時代に備えたc++11/14
ROS2.0時代に備えたc++11/14Takashi Ogura
 
分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218Takashi Okamoto
 
git-svnつかってみる?
git-svnつかってみる?git-svnつかってみる?
git-svnつかってみる?riskrisk
 
Git with Visual Studio
Git with Visual StudioGit with Visual Studio
Git with Visual StudioTomohiro Namba
 
Gitoriousをubuntu 10.04 LTSへインストール
Gitoriousをubuntu 10.04 LTSへインストールGitoriousをubuntu 10.04 LTSへインストール
Gitoriousをubuntu 10.04 LTSへインストールKiyoshi SATOH
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座貴一 末田
 
Git lev 3 -おひとりさまでブランチを-
Git lev 3 -おひとりさまでブランチを-Git lev 3 -おひとりさまでブランチを-
Git lev 3 -おひとりさまでブランチを-Kentarou Kurashige
 

Mais procurados (20)

GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)
 
Gitの使い方あれこれ
Gitの使い方あれこれGitの使い方あれこれ
Gitの使い方あれこれ
 
Shizudev git hub宿題
Shizudev git hub宿題Shizudev git hub宿題
Shizudev git hub宿題
 
日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github
 
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門
 
GitHub Releasesからインストールしたコマンドを管理する
GitHub Releasesからインストールしたコマンドを管理するGitHub Releasesからインストールしたコマンドを管理する
GitHub Releasesからインストールしたコマンドを管理する
 
Git (実践入門編)
Git (実践入門編)Git (実践入門編)
Git (実践入門編)
 
Gitの勉強 紹介編-
Gitの勉強 紹介編-Gitの勉強 紹介編-
Gitの勉強 紹介編-
 
Git 入門
Git 入門Git 入門
Git 入門
 
社内LT大会#3 2016-4-28 Vuls
社内LT大会#3 2016-4-28 Vuls社内LT大会#3 2016-4-28 Vuls
社内LT大会#3 2016-4-28 Vuls
 
デザイナのためのGit入門
デザイナのためのGit入門デザイナのためのGit入門
デザイナのためのGit入門
 
ROS2.0時代に備えたc++11/14
ROS2.0時代に備えたc++11/14ROS2.0時代に備えたc++11/14
ROS2.0時代に備えたc++11/14
 
分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218
 
git-svnつかってみる?
git-svnつかってみる?git-svnつかってみる?
git-svnつかってみる?
 
Git with Visual Studio
Git with Visual StudioGit with Visual Studio
Git with Visual Studio
 
Gitoriousをubuntu 10.04 LTSへインストール
Gitoriousをubuntu 10.04 LTSへインストールGitoriousをubuntu 10.04 LTSへインストール
Gitoriousをubuntu 10.04 LTSへインストール
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座
 
Git lev 3 -おひとりさまでブランチを-
Git lev 3 -おひとりさまでブランチを-Git lev 3 -おひとりさまでブランチを-
Git lev 3 -おひとりさまでブランチを-
 

Semelhante a Git 初心者講座 by forkwell

Git extensions ws外部公開用
Git extensions ws外部公開用Git extensions ws外部公開用
Git extensions ws外部公開用CROOZ, inc.
 
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 Hiro Yoshioka
 
Git -分散バージョン管理システム-
Git -分散バージョン管理システム-Git -分散バージョン管理システム-
Git -分散バージョン管理システム-Koji Shinba
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門Takashi Imagire
 
バージョン管理システムチュートリアル
バージョン管理システムチュートリアルバージョン管理システムチュートリアル
バージョン管理システムチュートリアルRyo Igarashi
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をAtsuhiro Kubo
 
GitHubで学ぶバージョン管理
GitHubで学ぶバージョン管理GitHubで学ぶバージョン管理
GitHubで学ぶバージョン管理Masafumi Yokoyama
 
Stylez GitLab勉強会 第1回
Stylez GitLab勉強会 第1回Stylez GitLab勉強会 第1回
Stylez GitLab勉強会 第1回Tetsurou Yano
 
Git_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdfGit_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdfYoshiki Tanaka
 
Git社内勉強会資料
Git社内勉強会資料Git社内勉強会資料
Git社内勉強会資料Kenji Takei
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜Takashi Uemura
 
ゆるふわっGit入門
ゆるふわっGit入門ゆるふわっGit入門
ゆるふわっGit入門Keisuke Oohata
 
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~DoshishaUniv ProntiatVR
 
【社内輪読会】Github実践入門2章
【社内輪読会】Github実践入門2章【社内輪読会】Github実践入門2章
【社内輪読会】Github実践入門2章Akira Torii
 
新人Git/Github研修公開用スライド(その2)
新人Git/Github研修公開用スライド(その2)新人Git/Github研修公開用スライド(その2)
新人Git/Github研修公開用スライド(その2)pupupopo88
 
gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編Sanae Yamashita
 

Semelhante a Git 初心者講座 by forkwell (20)

ゼミGit
ゼミGitゼミGit
ゼミGit
 
Git extensions ws外部公開用
Git extensions ws外部公開用Git extensions ws外部公開用
Git extensions ws外部公開用
 
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011
 
Git -分散バージョン管理システム-
Git -分散バージョン管理システム-Git -分散バージョン管理システム-
Git -分散バージョン管理システム-
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
 
Gitのいろは
GitのいろはGitのいろは
Gitのいろは
 
バージョン管理システムチュートリアル
バージョン管理システムチュートリアルバージョン管理システムチュートリアル
バージョン管理システムチュートリアル
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
 
Git 20100313
Git 20100313Git 20100313
Git 20100313
 
GitHubで学ぶバージョン管理
GitHubで学ぶバージョン管理GitHubで学ぶバージョン管理
GitHubで学ぶバージョン管理
 
Stylez GitLab勉強会 第1回
Stylez GitLab勉強会 第1回Stylez GitLab勉強会 第1回
Stylez GitLab勉強会 第1回
 
Git_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdfGit_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdf
 
Git社内勉強会資料
Git社内勉強会資料Git社内勉強会資料
Git社内勉強会資料
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
 
ゆるふわっGit入門
ゆるふわっGit入門ゆるふわっGit入門
ゆるふわっGit入門
 
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
 
【社内輪読会】Github実践入門2章
【社内輪読会】Github実践入門2章【社内輪読会】Github実践入門2章
【社内輪読会】Github実践入門2章
 
新人Git/Github研修公開用スライド(その2)
新人Git/Github研修公開用スライド(その2)新人Git/Github研修公開用スライド(その2)
新人Git/Github研修公開用スライド(その2)
 
Bitbucket and git
Bitbucket and gitBitbucket and git
Bitbucket and git
 
gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編
 

Mais de sinsoku listy

Rails6にいつ上げるか?
Rails6にいつ上げるか?Rails6にいつ上げるか?
Rails6にいつ上げるか?sinsoku listy
 
Rails Testing on Fargate
Rails Testing on FargateRails Testing on Fargate
Rails Testing on Fargatesinsoku listy
 
Search Form for Rails
Search Form for RailsSearch Form for Rails
Search Form for Railssinsoku listy
 
自己修復的なインフラ -Self-Healing Infrastructure-
自己修復的なインフラ -Self-Healing Infrastructure-自己修復的なインフラ -Self-Healing Infrastructure-
自己修復的なインフラ -Self-Healing Infrastructure-sinsoku listy
 
毎日gemをアップグレードする生活
毎日gemをアップグレードする生活毎日gemをアップグレードする生活
毎日gemをアップグレードする生活sinsoku listy
 
Rails 5.2: credentials
Rails 5.2: credentialsRails 5.2: credentials
Rails 5.2: credentialssinsoku listy
 
Randomly Failing Specs
Randomly Failing SpecsRandomly Failing Specs
Randomly Failing Specssinsoku listy
 
技術的負債とリファクタリング
技術的負債とリファクタリング技術的負債とリファクタリング
技術的負債とリファクタリングsinsoku listy
 
ES2015のカバレッジ計測
ES2015のカバレッジ計測ES2015のカバレッジ計測
ES2015のカバレッジ計測sinsoku listy
 
CSSのカバレッジツール
CSSのカバレッジツールCSSのカバレッジツール
CSSのカバレッジツールsinsoku listy
 
本当にあった怖い話 7つの幽霊 7つの成仏
本当にあった怖い話 7つの幽霊 7つの成仏本当にあった怖い話 7つの幽霊 7つの成仏
本当にあった怖い話 7つの幽霊 7つの成仏sinsoku listy
 
Awsでwindowsゲームを動かす
Awsでwindowsゲームを動かすAwsでwindowsゲームを動かす
Awsでwindowsゲームを動かすsinsoku listy
 
Action pack variantsの話
Action pack variantsの話Action pack variantsの話
Action pack variantsの話sinsoku listy
 
LT_Gitのfast fowardと継続的デリバリー
LT_Gitのfast fowardと継続的デリバリーLT_Gitのfast fowardと継続的デリバリー
LT_Gitのfast fowardと継続的デリバリーsinsoku listy
 
Git天空闘技場_ハンズオン
Git天空闘技場_ハンズオンGit天空闘技場_ハンズオン
Git天空闘技場_ハンズオンsinsoku listy
 
20101001 5分でわかるtrac pluginの作り方_slideshare
20101001 5分でわかるtrac pluginの作り方_slideshare20101001 5分でわかるtrac pluginの作り方_slideshare
20101001 5分でわかるtrac pluginの作り方_slidesharesinsoku listy
 

Mais de sinsoku listy (19)

Rails6にいつ上げるか?
Rails6にいつ上げるか?Rails6にいつ上げるか?
Rails6にいつ上げるか?
 
Rails Testing on Fargate
Rails Testing on FargateRails Testing on Fargate
Rails Testing on Fargate
 
Search Form for Rails
Search Form for RailsSearch Form for Rails
Search Form for Rails
 
ENGINEER WORK!!
ENGINEER WORK!!ENGINEER WORK!!
ENGINEER WORK!!
 
自己修復的なインフラ -Self-Healing Infrastructure-
自己修復的なインフラ -Self-Healing Infrastructure-自己修復的なインフラ -Self-Healing Infrastructure-
自己修復的なインフラ -Self-Healing Infrastructure-
 
毎日gemをアップグレードする生活
毎日gemをアップグレードする生活毎日gemをアップグレードする生活
毎日gemをアップグレードする生活
 
Rails 5.2: credentials
Rails 5.2: credentialsRails 5.2: credentials
Rails 5.2: credentials
 
Randomly Failing Specs
Randomly Failing SpecsRandomly Failing Specs
Randomly Failing Specs
 
技術的負債とリファクタリング
技術的負債とリファクタリング技術的負債とリファクタリング
技術的負債とリファクタリング
 
Swift on Docker
Swift on DockerSwift on Docker
Swift on Docker
 
ES2015のカバレッジ計測
ES2015のカバレッジ計測ES2015のカバレッジ計測
ES2015のカバレッジ計測
 
CSSのカバレッジツール
CSSのカバレッジツールCSSのカバレッジツール
CSSのカバレッジツール
 
本当にあった怖い話 7つの幽霊 7つの成仏
本当にあった怖い話 7つの幽霊 7つの成仏本当にあった怖い話 7つの幽霊 7つの成仏
本当にあった怖い話 7つの幽霊 7つの成仏
 
Awsでwindowsゲームを動かす
Awsでwindowsゲームを動かすAwsでwindowsゲームを動かす
Awsでwindowsゲームを動かす
 
Action pack variantsの話
Action pack variantsの話Action pack variantsの話
Action pack variantsの話
 
LT_Gitのfast fowardと継続的デリバリー
LT_Gitのfast fowardと継続的デリバリーLT_Gitのfast fowardと継続的デリバリー
LT_Gitのfast fowardと継続的デリバリー
 
Git天空闘技場_ハンズオン
Git天空闘技場_ハンズオンGit天空闘技場_ハンズオン
Git天空闘技場_ハンズオン
 
DVCSとGitの基礎
DVCSとGitの基礎DVCSとGitの基礎
DVCSとGitの基礎
 
20101001 5分でわかるtrac pluginの作り方_slideshare
20101001 5分でわかるtrac pluginの作り方_slideshare20101001 5分でわかるtrac pluginの作り方_slideshare
20101001 5分でわかるtrac pluginの作り方_slideshare
 

Git 初心者講座 by forkwell