SlideShare une entreprise Scribd logo
1  sur  41
Git Hands-on
With Github.com
アイコンの説明
自分のPC(ローカル)で行う作業です。
Github.com(リモート)で行う作業です。
準備はできてますか?
• 事前準備1.gitのインストール
• 事前準備2.githubアカウントを取得
• 事前準備3.SSH keysの設定
• 事前準備4.githubへのssh接続確認
Github.comのアカウント名を教えてください
https://github.com/xxxx
やること1(clone + branch + commit + push)
hoge-A
1-3. 変更を commit する
1-4. ブランチをアップロードする
(Push)
master
1-1. リポジトリ を ダウンロード する
(clone)
1-2. 作業用の branch を作成する
リポジトリを clone しましょう
▶ cloneとは
・リモートリポジトリを、ローカルに複製するコマンドです。
・cloneを実行すると、
リモートリポジトリの内容がまるまるダウンロードされます。
・cloneしたリポジトリは変更履歴も複製されます。
・元のリポジトリと同じように履歴の参照もできます。
master
clone
リポジトリを clone しましょう
URL
https://github.com/dip-dev/handson-1
まずは、リポジトリのURLをコピーします
git@github.com:dip-dev/handson-1.git
▶「Clone with SSH」の方をコピーしてください!
1-1. リポジトリを clone しましょう
git clone git@github.com:dip-dev/handson-1.git
リポジトリを clone する
実行例
1-2. branch を作成しましょう
▶ branchとは
・ブランチ(枝)とは、履歴の流れを分岐して記録していくためのものです。
・分岐したブランチは他のブランチの影響を受けないため、
同じリポジトリの中で複数の変更を同時に進めていくことができます。
hoge-A
master
役を決めましょう
A
B C D E
1-2. branch を作成しましょう
cd handson-1
git branch hoge-A
作業ブランチを作成する
cloneしたリポジトリの、カレントディレクトリに移動する
ブランチ名は、役割ごとに、hoge-A、hoge-B、・・・hoge-E と名前をつけてください。
1-2. branch を作成しましょう
git branch
git checkout hoge-A
作業ブランチを切り替える
ブランチを確認する
1-2. branch を作成しましょう
できましたか?
1-3. ソースコードを変更してcommitしましょう
変更するファイルがどこにあるか分からん!
とう人は、サポーターに聞いてね ^^
リポジトリのカレントディレクトリにある、index.htmlというファイルを変更します!
1-3. ソースコードを変更してcommitしましょう
• Aさん ▶ 3行目を変更してください。
• Bさん ▶ 6行目を変更してください。
• Cさん ▶ 8行目を変更してください。
• Dさん ▶ 10行目を変更してください。
• Eさん ▶ 10行目を変更してください。
変更するファイルがどこにあるか分からん!
サポーターに聞いてねmm
git add index.html
git commit –m ‘xxを変更’
1-3. ソースコードを変更してcommitしましょう
1-4. リモートに push してみましょう
▶ pushとは
• ローカルリポジトリ内の変更履歴を、リモートにアップロードする操作です。
commit
push
hoge-A
master
1-4. リモートに push してみましょう
git push origin hoge-A
Github.com で commit履歴を見てみましょう
自分のcommit履歴はありますか?
1-4. リモートに push してみましょう
1-4. リモートに push してみましょう
Github.com で Branch を見てみましょう
今PushしたBranchはありますか?
やること2(プルリク + マージ)
master
hoge-A
2-2. merge
hoge-B
hoge-C
hoge-D
hoge-E
(A+B) (A+B+C) ・・・(A+B+C+E)
merge
merge
merge
merge
プルリク
プルリク
2-1. プルリク
プルリク
プルリク
2-1. プルリクエストを作成しましょう
▶ プルリクエストとは
• 開発者のローカルリポジトリでの変更を、他の開発者に通知する機能です。
• プルリクエストでは次のようなことができます。
* 作業内容を関係者に通知します。
* ソースコードの変更箇所をわかりやすく表示します。
* ソースコードに関するコミュニケーションの場を提供します。
master
hoge-A
プルリク
変更のお知らせ
2-1. プルリクエストを作成しましょう
▶ タイトル
分かりやすいように、ブランチ名を入れてください。
▶ コメント
入力は任意です。
2-1. プルリクエストを作成しましょう
できましたか?
2-2. マージしてみましょう
▶ Aさんは、マージ大臣です
A〜E 順番にすべてマージしましょう
2-2. マージしてみましょう
おや?
コンフリクト(競合)発生!!
▶ Eさんのプルリクがマージできない!
やること3(pull + コンフリクト解決 + push)
hoge-E
commit
3-3. push
(hoge-E+master)
3-1. pull master
3-2. コンフリクト
修正
コンフリクト
3. コンフリクトを解決しましょう
▶ コンフリクトとは
リモートリポジトリと、ローカルリポジトリで、ファイル内の同じ箇所を変更して
いた場合に発生します。
コンフリクトが発生した場合、どちらの変更を取り込むか自動では判断できないの
でエラーが発生します。
3. コンフリクトを解決しましょう
▶ 手順
3-1. ローカルの作業ブランチに、リモートのmasterブランチをpullする。
3-2. ローカルでコンフリクトを解決する。
3-3. 再度commitして、リモートにPushする。
hoge-E
commit
push
(hoge-E+master)
pull
master
コンフリクト
修正
3. コンフリクトを解決しましょう
git pull origin master
3-1. ローカルの作業ブランチに、リモートのmasterブランチをプルする。
3. コンフリクトを解決しましょう
3-2. ローカルでコンフリクトを解決する。
3. コンフリクトを解決しましょう
git add index.html
git commit –m ‘コンフリクト解決’
git push origin hoge-E
3-3. 再度コミットして、リモートにPushする。
やること4(マージ・再)
master
hoge-E
4-1. merge
(A+B+C+E) (A+B+C+E+D)
4. コンフリクトを解決しましょう
コンフリクトが解消され、マージできる状態になりました。
▶ マージ大臣!出番です。
違う人がやってもいいよ!
4. コンフリクトを解決しましょう
4. コンフリクトを解決しましょう
マージできましたか??
4. コンフリクトを解決しましょう
コミット履歴とか見てみましょう
補足
▶ マージについて
今回は、GitHub上でmergeの操作を行いました。
ローカルリポジトリでも、コマンドによりmerge操作を行うことができます。
(今日はやりませんmm)
git merge
反復!
A〜Eさんの役を変えて、
もう一度やってみましょう!

Contenu connexe

Tendances

Tinkerer for pyfes 201303
Tinkerer for pyfes 201303Tinkerer for pyfes 201303
Tinkerer for pyfes 201303shirou wakayama
 
Git 初心者講座 by forkwell
Git 初心者講座 by forkwellGit 初心者講座 by forkwell
Git 初心者講座 by forkwellsinsoku listy
 
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料ichikaway
 
Archive: Git 入門(2014/1/10 社内勉強会)
Archive: Git 入門(2014/1/10 社内勉強会)Archive: Git 入門(2014/1/10 社内勉強会)
Archive: Git 入門(2014/1/10 社内勉強会)Yoko TAMADA
 
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話YASUKAZU NAGATOMI
 
Dockerイメージを作る
Dockerイメージを作るDockerイメージを作る
Dockerイメージを作るMasahiro Tomita
 
Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会 2016 Gitで卒論を管理しよう回Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会 2016 Gitで卒論を管理しよう回kinme modoki
 
Pelican の紹介 / World Plone Day 2017 Tokyo
Pelican の紹介 / World Plone Day 2017 TokyoPelican の紹介 / World Plone Day 2017 Tokyo
Pelican の紹介 / World Plone Day 2017 TokyoKei IWASAKI
 
いいこんぶGitマニュアル
いいこんぶGitマニュアルいいこんぶGitマニュアル
いいこんぶGitマニュアルKaito Yuuki
 
Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築Atsuo Ishimoto
 
Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンドYUKI Kaoru
 
Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介Kiwamu Okabe
 
Getting started with Play20
Getting started with Play20Getting started with Play20
Getting started with Play20Kazuhiro Sera
 
Python開発環境三種の神器
Python開発環境三種の神器Python開発環境三種の神器
Python開発環境三種の神器Yukitaka Uchikoshi
 
Linux kernelのbspとupstream
Linux kernelのbspとupstreamLinux kernelのbspとupstream
Linux kernelのbspとupstreamwata2ki
 
色んな環境用の たった一つの.gitConfig
色んな環境用の たった一つの.gitConfig色んな環境用の たった一つの.gitConfig
色んな環境用の たった一つの.gitConfigwataru uchiyama
 

Tendances (20)

Tinkerer for pyfes 201303
Tinkerer for pyfes 201303Tinkerer for pyfes 201303
Tinkerer for pyfes 201303
 
Git 初心者講座 by forkwell
Git 初心者講座 by forkwellGit 初心者講座 by forkwell
Git 初心者講座 by forkwell
 
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
 
はじめてのgithub
はじめてのgithubはじめてのgithub
はじめてのgithub
 
Archive: Git 入門(2014/1/10 社内勉強会)
Archive: Git 入門(2014/1/10 社内勉強会)Archive: Git 入門(2014/1/10 社内勉強会)
Archive: Git 入門(2014/1/10 社内勉強会)
 
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
 
Dockerイメージを作る
Dockerイメージを作るDockerイメージを作る
Dockerイメージを作る
 
Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会 2016 Gitで卒論を管理しよう回Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会 2016 Gitで卒論を管理しよう回
 
Docker入門
Docker入門Docker入門
Docker入門
 
Pelican の紹介 / World Plone Day 2017 Tokyo
Pelican の紹介 / World Plone Day 2017 TokyoPelican の紹介 / World Plone Day 2017 Tokyo
Pelican の紹介 / World Plone Day 2017 Tokyo
 
いいこんぶGitマニュアル
いいこんぶGitマニュアルいいこんぶGitマニュアル
いいこんぶGitマニュアル
 
Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築
 
Git 勉強会
Git 勉強会Git 勉強会
Git 勉強会
 
Git for beginners
Git for beginnersGit for beginners
Git for beginners
 
Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンド
 
Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介
 
Getting started with Play20
Getting started with Play20Getting started with Play20
Getting started with Play20
 
Python開発環境三種の神器
Python開発環境三種の神器Python開発環境三種の神器
Python開発環境三種の神器
 
Linux kernelのbspとupstream
Linux kernelのbspとupstreamLinux kernelのbspとupstream
Linux kernelのbspとupstream
 
色んな環境用の たった一つの.gitConfig
色んな環境用の たった一つの.gitConfig色んな環境用の たった一つの.gitConfig
色んな環境用の たった一つの.gitConfig
 

En vedette

Contaminación del suelo y contaminación acustica
Contaminación del suelo y contaminación acusticaContaminación del suelo y contaminación acustica
Contaminación del suelo y contaminación acusticahelen coelho gonzalez
 
Contrato informatico
Contrato informaticoContrato informatico
Contrato informaticoclaudiacte
 
Ll upper pri a phonetics principles
Ll upper pri a   phonetics principlesLl upper pri a   phonetics principles
Ll upper pri a phonetics principlesDesignlab Innovation
 
Trabajo de computacion inventarios
Trabajo de computacion inventariosTrabajo de computacion inventarios
Trabajo de computacion inventarioscrisstiann
 
275330822 polineuropati-diabetik
275330822 polineuropati-diabetik275330822 polineuropati-diabetik
275330822 polineuropati-diabetiktaufiq andrian
 
Ninth Space Brand Consultants; Our Work
Ninth Space Brand Consultants; Our Work Ninth Space Brand Consultants; Our Work
Ninth Space Brand Consultants; Our Work Ninth Space
 
Appendix B - Case study framework
Appendix B - Case study frameworkAppendix B - Case study framework
Appendix B - Case study frameworkQuan Risk
 
Researcher KnowHow: Open access
Researcher KnowHow: Open accessResearcher KnowHow: Open access
Researcher KnowHow: Open accessLivUniLibrary
 
Derecho agrario y ambiental mapa mental
Derecho agrario y ambiental mapa mentalDerecho agrario y ambiental mapa mental
Derecho agrario y ambiental mapa mentalErnesto Jesus
 
Stroke 2003-151219052420
Stroke 2003-151219052420Stroke 2003-151219052420
Stroke 2003-151219052420yuli anggraeni
 

En vedette (15)

Contaminación del suelo y contaminación acustica
Contaminación del suelo y contaminación acusticaContaminación del suelo y contaminación acustica
Contaminación del suelo y contaminación acustica
 
Salmos e hinos 499
Salmos e hinos 499Salmos e hinos 499
Salmos e hinos 499
 
Contrato informatico
Contrato informaticoContrato informatico
Contrato informatico
 
Ll upper pri a phonetics principles
Ll upper pri a   phonetics principlesLl upper pri a   phonetics principles
Ll upper pri a phonetics principles
 
Salmos e hinos 517
Salmos e hinos 517Salmos e hinos 517
Salmos e hinos 517
 
Trabajo de computacion inventarios
Trabajo de computacion inventariosTrabajo de computacion inventarios
Trabajo de computacion inventarios
 
275330822 polineuropati-diabetik
275330822 polineuropati-diabetik275330822 polineuropati-diabetik
275330822 polineuropati-diabetik
 
Ninth Space Brand Consultants; Our Work
Ninth Space Brand Consultants; Our Work Ninth Space Brand Consultants; Our Work
Ninth Space Brand Consultants; Our Work
 
Appendix B - Case study framework
Appendix B - Case study frameworkAppendix B - Case study framework
Appendix B - Case study framework
 
Researcher KnowHow: Open access
Researcher KnowHow: Open accessResearcher KnowHow: Open access
Researcher KnowHow: Open access
 
Derecho agrario y ambiental mapa mental
Derecho agrario y ambiental mapa mentalDerecho agrario y ambiental mapa mental
Derecho agrario y ambiental mapa mental
 
Stroke 2003
Stroke 2003Stroke 2003
Stroke 2003
 
Stroke 2003-151219052420
Stroke 2003-151219052420Stroke 2003-151219052420
Stroke 2003-151219052420
 
Hipertensi
HipertensiHipertensi
Hipertensi
 
QC Engineer
QC EngineerQC Engineer
QC Engineer
 

Similaire à githubハンズオン

KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編Akihiko Shirai
 
gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編Sanae Yamashita
 
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会Katz Ueno
 
バージョン管理
バージョン管理バージョン管理
バージョン管理Misa Kondo
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門Takashi Imagire
 
ソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHubソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHubToru Tamaki
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座貴一 末田
 
Metahub for github
Metahub for githubMetahub for github
Metahub for githubSuguru Oho
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルComputational Materials Science Initiative
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜Takashi Uemura
 
Git lev 1-おひとりさま用-
Git lev 1-おひとりさま用-Git lev 1-おひとりさま用-
Git lev 1-おひとりさま用-Kentarou Kurashige
 
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しようHirokazu Tokuno
 
Git with Visual Studio
Git with Visual StudioGit with Visual Studio
Git with Visual StudioTomohiro Namba
 
ノンプログラマのGit入門
ノンプログラマのGit入門ノンプログラマのGit入門
ノンプログラマのGit入門Muyuu Fujita
 

Similaire à githubハンズオン (20)

KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
 
gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編
 
Github入門2014
Github入門2014Github入門2014
Github入門2014
 
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
 
バージョン管理
バージョン管理バージョン管理
バージョン管理
 
Shizudev git hub宿題
Shizudev git hub宿題Shizudev git hub宿題
Shizudev git hub宿題
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
 
ソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHubソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHub
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座
 
Git/GitHub
Git/GitHubGit/GitHub
Git/GitHub
 
Metahub for github
Metahub for githubMetahub for github
Metahub for github
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアル
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
 
Git lev 1-おひとりさま用-
Git lev 1-おひとりさま用-Git lev 1-おひとりさま用-
Git lev 1-おひとりさま用-
 
Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~
Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~ Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~
Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~
 
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
 
Git with Visual Studio
Git with Visual StudioGit with Visual Studio
Git with Visual Studio
 
ノンプログラマのGit入門
ノンプログラマのGit入門ノンプログラマのGit入門
ノンプログラマのGit入門
 
Git tutorial
Git tutorialGit tutorial
Git tutorial
 
Yapc2012資料
Yapc2012資料Yapc2012資料
Yapc2012資料
 

githubハンズオン