Submit Search
Upload
GitHubにおける開発フローについてのお話
•
2 likes
•
2,022 views
Sota Sugiura
Follow
GitHubで開発していく際の提案を社内向けにお話した時の資料。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 38
Download now
Download to read offline
Recommended
8つの操作ではじめるGit
8つの操作ではじめるGit
DelfinoAzul
My add Git
My add Git
Masafumi Yokoyama
Git&GitHub入門
Git&GitHub入門
hideaki honda
Git リモートへの道
Git リモートへの道
Koudai Takahasi
Git lev 3 -おひとりさまでブランチを-
Git lev 3 -おひとりさまでブランチを-
Kentarou Kurashige
Git 20100313
Git 20100313
Taku AMANO
Gitの勉強 紹介編-
Gitの勉強 紹介編-
Kentarou Kurashige
Git lev 4 -みんなでGit-
Git lev 4 -みんなでGit-
Kentarou Kurashige
Recommended
8つの操作ではじめるGit
8つの操作ではじめるGit
DelfinoAzul
My add Git
My add Git
Masafumi Yokoyama
Git&GitHub入門
Git&GitHub入門
hideaki honda
Git リモートへの道
Git リモートへの道
Koudai Takahasi
Git lev 3 -おひとりさまでブランチを-
Git lev 3 -おひとりさまでブランチを-
Kentarou Kurashige
Git 20100313
Git 20100313
Taku AMANO
Gitの勉強 紹介編-
Gitの勉強 紹介編-
Kentarou Kurashige
Git lev 4 -みんなでGit-
Git lev 4 -みんなでGit-
Kentarou Kurashige
Git lev 1-おひとりさま用-
Git lev 1-おひとりさま用-
Kentarou Kurashige
Gitの設定
Gitの設定
Kentarou Kurashige
Git地図
Git地図
yoshiaki iwanaga
git-webtouchmeeting
git-webtouchmeeting
Tomohiko Himura
Wordbench fukuoka
Wordbench fukuoka
Junji Manno
Git超入門
Git超入門
Takao Futatsuishi
20130608 git-3
20130608 git-3
Kasu Unko
なるべく噛み砕いたGit基礎講習
なるべく噛み砕いたGit基礎講習
石橋 啓太
猫にはわからないGit講座
猫にはわからないGit講座
Yusei Yamanaka
Git社内勉強会資料
Git社内勉強会資料
Kenji Takei
GitLabをバックアップしてみた
GitLabをバックアップしてみた
VirtualTech Japan Inc./Begi.net Inc.
Hannari python#27
Hannari python#27
hiroya akita
Bitbucket and git
Bitbucket and git
Ryo Katsumata
GitLab CI/CD パイプライン
GitLab CI/CD パイプライン
Tetsurou Yano
SvnからGitへの移行について
SvnからGitへの移行について
ngi group.
Qt5 の新機能 2012/12/15
Qt5 の新機能 2012/12/15
Takumi Asaki
今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編
VirtualTech Japan Inc./Begi.net Inc.
QML上にOpenGLのカスタムエレメントを表示する
QML上にOpenGLのカスタムエレメントを表示する
nobo66
Gitコマンド勉強会 第0回 はじめに
Gitコマンド勉強会 第0回 はじめに
Kazuki Sakai
分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218
Takashi Okamoto
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
Takafumi Yoshida
2018 07-18 git-hub講座
2018 07-18 git-hub講座
貴一 末田
More Related Content
What's hot
Git lev 1-おひとりさま用-
Git lev 1-おひとりさま用-
Kentarou Kurashige
Gitの設定
Gitの設定
Kentarou Kurashige
Git地図
Git地図
yoshiaki iwanaga
git-webtouchmeeting
git-webtouchmeeting
Tomohiko Himura
Wordbench fukuoka
Wordbench fukuoka
Junji Manno
Git超入門
Git超入門
Takao Futatsuishi
20130608 git-3
20130608 git-3
Kasu Unko
なるべく噛み砕いたGit基礎講習
なるべく噛み砕いたGit基礎講習
石橋 啓太
猫にはわからないGit講座
猫にはわからないGit講座
Yusei Yamanaka
Git社内勉強会資料
Git社内勉強会資料
Kenji Takei
GitLabをバックアップしてみた
GitLabをバックアップしてみた
VirtualTech Japan Inc./Begi.net Inc.
Hannari python#27
Hannari python#27
hiroya akita
Bitbucket and git
Bitbucket and git
Ryo Katsumata
GitLab CI/CD パイプライン
GitLab CI/CD パイプライン
Tetsurou Yano
SvnからGitへの移行について
SvnからGitへの移行について
ngi group.
Qt5 の新機能 2012/12/15
Qt5 の新機能 2012/12/15
Takumi Asaki
今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編
VirtualTech Japan Inc./Begi.net Inc.
QML上にOpenGLのカスタムエレメントを表示する
QML上にOpenGLのカスタムエレメントを表示する
nobo66
Gitコマンド勉強会 第0回 はじめに
Gitコマンド勉強会 第0回 はじめに
Kazuki Sakai
分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218
Takashi Okamoto
What's hot
(20)
Git lev 1-おひとりさま用-
Git lev 1-おひとりさま用-
Gitの設定
Gitの設定
Git地図
Git地図
git-webtouchmeeting
git-webtouchmeeting
Wordbench fukuoka
Wordbench fukuoka
Git超入門
Git超入門
20130608 git-3
20130608 git-3
なるべく噛み砕いたGit基礎講習
なるべく噛み砕いたGit基礎講習
猫にはわからないGit講座
猫にはわからないGit講座
Git社内勉強会資料
Git社内勉強会資料
GitLabをバックアップしてみた
GitLabをバックアップしてみた
Hannari python#27
Hannari python#27
Bitbucket and git
Bitbucket and git
GitLab CI/CD パイプライン
GitLab CI/CD パイプライン
SvnからGitへの移行について
SvnからGitへの移行について
Qt5 の新機能 2012/12/15
Qt5 の新機能 2012/12/15
今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編
QML上にOpenGLのカスタムエレメントを表示する
QML上にOpenGLのカスタムエレメントを表示する
Gitコマンド勉強会 第0回 はじめに
Gitコマンド勉強会 第0回 はじめに
分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218
Similar to GitHubにおける開発フローについてのお話
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
Takafumi Yoshida
2018 07-18 git-hub講座
2018 07-18 git-hub講座
貴一 末田
「Gitが、おもしろいほどわかる基本の使い方33」 出版記念セミナー
「Gitが、おもしろいほどわかる基本の使い方33」 出版記念セミナー
Hajime Ogushi
社内勉強会用Gitのスライド#02
社内勉強会用Gitのスライド#02
nobuyasu tomura
Git @ NNCT programming workshop
Git @ NNCT programming workshop
NNCT programming study group
Git/GitHub
Git/GitHub
Nariaki Tateiwa
Githubサービスについて
Githubサービスについて
Akura Pi
ゆるふわっGit入門
ゆるふわっGit入門
Keisuke Oohata
gitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみました
Takako Miyagawa
ノンプログラマのGit入門
ノンプログラマのGit入門
Muyuu Fujita
Git勉強会 #01
Git勉強会 #01
risaiku リサイク
Git勉強会
Git勉強会
Tomoki Oyamatsu
Introduction git
Introduction git
Misa Kondo
Gitを使った運用方法
Gitを使った運用方法
Hiroki Nigorinuma
ポイントをおさえて移行しよう!Git乗り換え超初級
ポイントをおさえて移行しよう!Git乗り換え超初級
Kouji Matsui
Gitのいろは
Gitのいろは
祐輝 今井
WordPressサイトのバージョン管理
WordPressサイトのバージョン管理
lolipopjp
Git超入門
Git超入門
Shun Nishitsuji
Github第4章
Github第4章
Yuto Suzuki
githubハンズオン
githubハンズオン
Ayaka Ueda
Similar to GitHubにおける開発フローについてのお話
(20)
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
2018 07-18 git-hub講座
2018 07-18 git-hub講座
「Gitが、おもしろいほどわかる基本の使い方33」 出版記念セミナー
「Gitが、おもしろいほどわかる基本の使い方33」 出版記念セミナー
社内勉強会用Gitのスライド#02
社内勉強会用Gitのスライド#02
Git @ NNCT programming workshop
Git @ NNCT programming workshop
Git/GitHub
Git/GitHub
Githubサービスについて
Githubサービスについて
ゆるふわっGit入門
ゆるふわっGit入門
gitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみました
ノンプログラマのGit入門
ノンプログラマのGit入門
Git勉強会 #01
Git勉強会 #01
Git勉強会
Git勉強会
Introduction git
Introduction git
Gitを使った運用方法
Gitを使った運用方法
ポイントをおさえて移行しよう!Git乗り換え超初級
ポイントをおさえて移行しよう!Git乗り換え超初級
Gitのいろは
Gitのいろは
WordPressサイトのバージョン管理
WordPressサイトのバージョン管理
Git超入門
Git超入門
Github第4章
Github第4章
githubハンズオン
githubハンズオン
More from Sota Sugiura
「データベース実践入門」から学ぶリレーショナルモデル
「データベース実践入門」から学ぶリレーショナルモデル
Sota Sugiura
TechCrunchTokyo Hackathon 2015
TechCrunchTokyo Hackathon 2015
Sota Sugiura
コミットメッセージの話
コミットメッセージの話
Sota Sugiura
HTTP2入門
HTTP2入門
Sota Sugiura
HTTP入門
HTTP入門
Sota Sugiura
今さら聞けないXSS
今さら聞けないXSS
Sota Sugiura
各ブラウザでの均等割り付け比較
各ブラウザでの均等割り付け比較
Sota Sugiura
Promiseでコールバック地獄から解放された話
Promiseでコールバック地獄から解放された話
Sota Sugiura
Web Audio API 入門
Web Audio API 入門
Sota Sugiura
More from Sota Sugiura
(9)
「データベース実践入門」から学ぶリレーショナルモデル
「データベース実践入門」から学ぶリレーショナルモデル
TechCrunchTokyo Hackathon 2015
TechCrunchTokyo Hackathon 2015
コミットメッセージの話
コミットメッセージの話
HTTP2入門
HTTP2入門
HTTP入門
HTTP入門
今さら聞けないXSS
今さら聞けないXSS
各ブラウザでの均等割り付け比較
各ブラウザでの均等割り付け比較
Promiseでコールバック地獄から解放された話
Promiseでコールバック地獄から解放された話
Web Audio API 入門
Web Audio API 入門
Recently uploaded
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
Hiroshi Tomioka
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
Recently uploaded
(9)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
GitHubにおける開発フローについてのお話
1.
開発フローについてのMTG 杉浦颯太
2.
アジェンダ 1. Git is 2.
GitHub is
3.
の前に… • 若干のGit講座をやります
4.
Git is • Gitとは •
偉い人いわく 分散バージョン管理システム • ちなみにSVNは 集中管理型の情報共有システム
5.
チープな図で図解
6.
SVN is リポジトリ commit update
7.
Git is リモートリポジトリ ローカルリポジトリ push pull commit
8.
要するに • SVNだとリポジトリは1つなのに対して、Gitはリモート リポジトリとローカルリポジトリが存在する • Gitだと以下の手順で開発していく 1.
リモートリポジトリをローカルにclone 2. ローカルリポジトリに変更をcommit 3. ローカルリポジトリの変更内容をリモートリポジト リにpush
9.
主なコマンド • Gitの主なコマンドを説明します • とりあえずこんなのあるんだーくらいで大丈夫です •
実行時はGitリポジトリのフォルダでgit command というように使います
10.
主なコマンド一覧 • add ファイルの変更をステージングにのせる • commit ステージングの変更をリポジトリに反映 •
push {repo_name} {branch_name} リモートリポジトリに指定したブランチの変更をpush • branch {branch_name} ブランチを作成
11.
主なコマンド一覧 • checkout {branch_name} ブランチを変更 •
pull {repo_name} {branch_name} 指定したリポジトリのブランチの変更をローカルにpull • diff ステージングされてないファイルの変更差分を表示 • status commitされていない変更を表示 • log commitログを表示
12.
後ほど使ってみます
13.
GitHub is • リモートリポジトリを無料でおけるサービス •
(本来ならGitサーバが必要) • Gitの履歴の可視化がすごい • 他にもいろいろ便利機能がある
14.
実践、その前に • CUIの方はgitコマンドがインストールされていれば 大丈夫です • GUI操作の場合、GitHubのクライアントソフトが あるのでダウンロードしてください •
「GitHub Windows」とかでggれば出てきます
15.
擬似開発してみましょう • https://github.com/sota1235/GitHubFlowTest • 上記のURLをgit
cloneしましょう • git clone https://github.com/sota1235/GitHubFlowTest
16.
擬似開発してみましょう • これでリモートリポジトリがローカルにclone、す なわちコピーされました • これを実際に編集していきます •
後ほど話す開発フローにのっとってやっていきます
17.
開発用ブランチを切りましょう • 一般的に共同開発するときはmasterブランチにcommitを行 いません • 開発用のブランチを切り、masterにmergeします •
git branch usernameしてgit checkout usernameしましょ う • git branchして自分の名前の横に*が表示されてれば成功です • (みんな同じ名前のブランチだと後ほど困るのでご自身の GitHubのユーザーネーム等で作っていただけると嬉しいです)
18.
ファイル編集 • 適当な.txtファイルを作成してください • 編集し、保存したらgit
status • Untracked file: hoge.txtと表示されたと思います • このファイルはまだステージングされていません
19.
え?ステージング? • GitにはSVNと違ってステージングなるものがあります • ステージングにあがってるものがcommitした時に記録 されます •
これをうまく使うことでcommitを区切ったりします • viewファイルをあえてaddせず、設定ファイルをadd してcommit • そのあとviewファイルをaddしてcommit
20.
てことでステージングします • ステージングにファイルをのせるのはaddです • git
add hoge.txt • git statusするとnew file: hoge.txtと出たと思いま す • これでcommitする準備ができました
21.
コミットだあああああああ • commitすることでリポジトリに記録が残ります • git
commit -m hoge.txtを追加しました • -mは必須です • コメントオプションになります • git statusして何も表示されていなければ成功 • これでgit logするとコミットできたのが確認できると思いま す
22.
リモートリポジトリにpush • ローカルでの編集をリモートにpushします • git
push origin {username} • {username}は先ほど作ったブランチ名を入れてく ださい
23.
originって? • git push
origin {username} • このoriginはリモートリポジトリの登録先です • git remote -vすると一覧が見れます • git cloneすると自動でoriginという名前でリモート リポジトリのURLが登録されるのでまぁあまり気 にしなくて大丈夫です
24.
GitHubを確認! • こんな画面が表示されるはず
25.
push成功! • これで自分で作成した開発用ブランチの変更がリモー トにpushできました • ブランチを切り替えると自分が変更したファイルが 見られるはずです
26.
masterにmerge • このままだとリリースブランチ(masterブランチ)は 変更されません • 変更を反映するリクエストを送りましょう •
Let s Pull Request!!!
27.
Pull Request • プルリクって言ったりします •
ブランチからブランチへ変更をmergeするよう要 望が出せます • 実際に出してみましょう
28.
GitHubを確認! • これをクリック
29.
GitHubを確認! • Pull Requestの内容を書く
30.
完了!
31.
Pull Requestのあれこれ • コメントができる •
変更内容が見やすく見られる • mergeはプルリクした人以外がコードを読んで行う
32.
git pull • あれ、これローカルでゴリゴリ開発してても他の人 がガンガンmergeしたらリモートとの差分がすご いことにならないか…? •
そこで出てくるgit pull • git pull origin masterすることでリモートの masterブランチを今作業中のブランチにいい感じ にmergeしてくれる
33.
開発フローの話 • これが本題 • そしてみなさんの意見をお聞きしたいことです
34.
杉浦案 • tagページリリースまではGitHub-flowライクな開発 フローをとる • 本来だとリリースのスパンが長いサービスには向 いていないが、まだリリース前であるため •
GitHubが採用され始めたばかりなので社内の知見 をためるため、別チームと違う形をとってみたい • 僕が個人的に好みなフロー
35.
基本的な流れ • チケットが立つ(Redmine) • チケットの担当者が決定 •
担当者がローカルでブランチを切る • 34_add_new_buttonというようにチケット番号と修正内 容でブランチ名を決める • 修正したらブランチをリモートにpush、pull requestを作成 • 他の人がコードレビュー、問題がなければmergeを行う
36.
ゆるりとしたルール(提案) • ブランチ名は{ticket番号}_{ticket内容を_区切り} • commitメッセージは1行(後からログが見やすいた め) •
SVNと同じようcommitメッセージにはpms #1と いうようにチケット番号を含める
37.
おまけ • CUIでGit開発を行う場合、必ずgitconigを作りましょう • gitのstatusに色をつけたり、aliasを設定したりを記述する ファイル •
ホームディレクトリに.gitconfigという名前でおいてく • もしよかった参考にしてください(強い人の設定全パクりした gitconfigです) • https://github.com/sota1235/dotfiles/tree/master/ gitfiles
38.
おまけ • GUIツール • SourceTreeがいいらしい •
GitHub標準のアプリもあります
Download now