SlideShare a Scribd company logo
Gitを使いこなして
みよう!
@Posaune
自己紹介
•まえかわ ひろし a.k.a @Posaune
•#京アジャ
•#検これ
•MS MVP for Visual Studio ALM
•(検閲削除)
今日話さないこと
•Gitの細かいコマンドの使い方
•「逆引きGit入門」
•「Gitポケットリファレンス」
•HookScript
•使えたら超便利
•GitHubもろもろ
•moririringさんので完璧のはず
•Github Pagesも便利よ。
•Github的なるものの代替手段
•Gitlabo
•gitbucket
学習リソース
(オフライン)
学習リソース
(オンライン)
•Lean Git Branching
•http://pcottle.github.io/learnGitBranchin
g/
さて、Gitでできること
理解してもらえましたか??
Git使ってみようと思った人?
僕がお話しすること
GitをもっとGitらしく活用
するための「きっかけ」
キーワードは・・・
歴 史 改 変
歴史改変ツール Git
「そんな『歴史改変』なんて
大げさな・・・」
Gitを使いこなしてみよう!
なにそれこわい
大丈夫、こわくないよ!
(わかって使えば)
Git =
Git = ChangeSetの集合
ChangeSet
- 追加
- 削除
- 変更
Git =
自由に操作できるChangeSetの集合
差替え
あるチェンジセットを別のものに
書き換える
挿入
あるチェンジセットを間に
差し込む
削除
あるチェンジセットを消し去る
入替
チェンジセットの順番を
入れ替える
結合
複数のチェンジセットを
統合する
・・・・・・
それで、何が嬉しいの??
便利な場面を考えてみよう
例えば、こんなとき。
うおー、Typoった…
あああ、追加もれがぁ…
やっべ、個人的なメモまでコミットしちゃったよ…
差替え
うおー、Typoった
…
あああ、追加もれがぁ…
やっべ、個人的なメモまでコミットしちゃったよ…
git commit –amend
git rebase
修正しとこ。
続いて、こういうときも
このコードをベース
に開発してよ
拝承
ごめん、渡した
コード古かった
ファッ!?
しゃーない、ここに追加の
コミットおいて、rebase、
と。
挿入 git checkout
git add
git rebase
・・・ちょっとはイメージ
湧きました?
さて、他にも使いどころは
たくさんあるんですが、
ちょっと脱線。
歴史改変、といえば・・・?
Gitを使いこなしてみよう!
平 行 世 界
Git =
平行世界を持ったChangeSetの
集合
平行世界歴史改変ツール Git
平行世界:ブランチって?
平行世界
平行世界
2つのChangeSetが適用された世界
1つのChangeSetが適用された世界
ブランチ:
ChangeSetの分岐に過ぎない
ブランチに特有のコマンド
分岐
あるチェンジセット以降に
平行世界を作る
git branch
git checkout -b
合流
ある平行世界の変更を取り込む
git merge
差替え
平行世界の出発点を差替える
git rebase
差替え
平行世界の出発点を差替える
あとはほとんど一緒!
ブランチの使いどころ
どういうときに
ブランチ=平行世界を使う?
例えば・・・
よーし、新しい機能
実装だー!
んんん・・・。手詰まり。
別のやろっと♪
ベース 新機能1 新機能1
新機能2 新機能2
なんかカオス
ベース
新機能1 新機能1
新機能2 新機能2
平行世界で対処しよう!
ベース
新機能1 新機能1
新機能2 新機能2
平行世界で対処しよう!
ベース
新機能1 新機能1
新機能2 新機能2
平行世界で対処しよう!
トピックブランチ
他にも・・・
よし、新機能開発だ!
拝承
既存機能で
バグ出たぞゴルァ
ファッ!?
ベース 新機能 新機能
バグ修正 バグ修正
目的が混ざる・・・
新機能 新機能
バグ修正 バグ修正
平行世界で対処しよう!
ベース
新機能 新機能
バグ修正 バグ修正
平行世界で対処しよう!
ベース
新機能 新機能
バグ修正 バグ修正
平行世界で対処しよう!
ベース
Hotfixブランチ
まとめると・・・
ベース
新機能1 新機能1
新機能2 新機能2
平行世界で対処しよう!
バグ修正 バグ修正Hotfixブランチ
トピックブランチ
ベース
新機能1 新機能1
新機能2 新機能2
平行世界で対処しよう!
バグ修正 バグ修正Hotfixブランチ
リリースブランチ
トピックブランチ
ベース
新機能1 新機能1
新機能2 新機能2
平行世界で対処しよう!
バグ修正 バグ修正Hotfixブランチ
リリースブランチ
トピックブランチ
開発ブランチ
参考: git-flow
Gitを使いこなしてみよう!
まぁここまでいかなくても。
結論:
やりやすいようにやろう
歴史改変しちゃダメなとき
Gitを使いこなしてみよう!
まとめ(ない)
Gitは「らしく」使わないと
いまいちメリットわからない
「らしく」使うの結構大変
キーワード
歴史改変
平行世界(ブランチ)
とにかくコマンドをいっぱい
打って慣れること!
まずは、トピックブランチから
ベース
新機能1 新機能1
新機能2 新機能2
トピックブランチ
Enjoy Branching!

More Related Content

PDF
Git学ぼうぜの会 ハンズオン資料 - LOCAL学生部 GWイベント
PDF
Git for Begineers GitHub ハンズオン
PDF
Github時代のgitのはなし
PPTX
私が複数人開発で感じている Git・GitHubのうまみ
PDF
会社に Github導入した話
PDF
初心者がGoでCLIツール作ってみて学んだこと
PDF
Git勉強会
PPTX
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git学ぼうぜの会 ハンズオン資料 - LOCAL学生部 GWイベント
Git for Begineers GitHub ハンズオン
Github時代のgitのはなし
私が複数人開発で感じている Git・GitHubのうまみ
会社に Github導入した話
初心者がGoでCLIツール作ってみて学んだこと
Git勉強会
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料

What's hot (20)

PDF
Gitはじめの一歩
PDF
2ヶ月前にgitを始めた私からこれから始める皆さんへ
PPTX
200208 osh-nishimoto-v2
PDF
【社内勉強会】弊社でGit!実案件での運用
PDF
Gcpug in fukuoka!20150411 #gcpug
PPTX
Git @ NNCT programming workshop
PDF
GitBucketで社内OSSしませんか?
KEY
Yapc2012資料
PDF
Git hub pagesで告知サイトを作ってみた
PDF
Github と仲良くなろう!
PDF
SourceTreeで始めよう! Gitへの乗り換え指南
PDF
githubでHP作ってみよ 2019/02/16 by CODE for IKOMA
PDF
Gitのつくりかた YAPC::Asia 2015 @DQNEO
ODP
底辺webプログラマが今更git語ってみた
PDF
はじめてのGit #gitkyoto
PDF
モノグサ万歳!Webデザイナーがesa→GitHub→Travis CI→Hexoで、ポートフォリオのビルドを自動化した話 #ltlovers
PDF
ARLT_20_あなたの知らないGitHub
KEY
日本androidの会 中国支部 29回勉強会 github
PDF
超初心者向け!Visual Studio + GitHub + Source Treeで始めるアプリケーション開発
PPTX
GitHub Handson
Gitはじめの一歩
2ヶ月前にgitを始めた私からこれから始める皆さんへ
200208 osh-nishimoto-v2
【社内勉強会】弊社でGit!実案件での運用
Gcpug in fukuoka!20150411 #gcpug
Git @ NNCT programming workshop
GitBucketで社内OSSしませんか?
Yapc2012資料
Git hub pagesで告知サイトを作ってみた
Github と仲良くなろう!
SourceTreeで始めよう! Gitへの乗り換え指南
githubでHP作ってみよ 2019/02/16 by CODE for IKOMA
Gitのつくりかた YAPC::Asia 2015 @DQNEO
底辺webプログラマが今更git語ってみた
はじめてのGit #gitkyoto
モノグサ万歳!Webデザイナーがesa→GitHub→Travis CI→Hexoで、ポートフォリオのビルドを自動化した話 #ltlovers
ARLT_20_あなたの知らないGitHub
日本androidの会 中国支部 29回勉強会 github
超初心者向け!Visual Studio + GitHub + Source Treeで始めるアプリケーション開発
GitHub Handson
Ad

Viewers also liked (10)

PDF
窓辺に立つ執事
PDF
ホントは楽しいエイブンポー
PDF
テストって何をするもの? - テストの5W1H -
PPTX
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
PDF
ドメイン『駆動』『開発』
PDF
なれる!IL
PDF
ポストJenkins時代のCI戦略
PPTX
JIRA / Confluence の 必須プラグインはこれだ
PDF
PyQtではじめるGUIプログラミング
PDF
HTML5, きちんと。
窓辺に立つ執事
ホントは楽しいエイブンポー
テストって何をするもの? - テストの5W1H -
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
ドメイン『駆動』『開発』
なれる!IL
ポストJenkins時代のCI戦略
JIRA / Confluence の 必須プラグインはこれだ
PyQtではじめるGUIプログラミング
HTML5, きちんと。
Ad

Similar to Gitを使いこなしてみよう! (20)

PPTX
オープンセミナー香川2012 LT
PDF
今日から始めるGithub
PPTX
Git超入門
PDF
Github of project
PPTX
Github講座#1
PDF
Git初心者にどう教える? マンガでわかるGit
PDF
GitHub勉強会
PDF
20160128 jjug Nightセミナー_Git実践入門
KEY
一人でもはじめるGitでバージョン管理
PDF
Python for Data Analysis第1回勉強会(+git入門)
PDF
201806 hugo で静的サイト作ってみた
PDF
git flowを使った開発フロー
KEY
SNS 「github」で遊ぼう
PPTX
GitHub勉強会~当日資料~
PDF
gitを使って、レポジトリの一部抽出forkしてみました
PDF
今時のオンプレなgithubクローン環境構築
PDF
GoでシュッとWebスクレイピングする
PPTX
[2023-11-01] GitHub Copilot 使ってみた.pptx
PPTX
「CodeYourRuby」で オープンなコードレビューを体験しよう
PDF
Git Flowを運用するために
オープンセミナー香川2012 LT
今日から始めるGithub
Git超入門
Github of project
Github講座#1
Git初心者にどう教える? マンガでわかるGit
GitHub勉強会
20160128 jjug Nightセミナー_Git実践入門
一人でもはじめるGitでバージョン管理
Python for Data Analysis第1回勉強会(+git入門)
201806 hugo で静的サイト作ってみた
git flowを使った開発フロー
SNS 「github」で遊ぼう
GitHub勉強会~当日資料~
gitを使って、レポジトリの一部抽出forkしてみました
今時のオンプレなgithubクローン環境構築
GoでシュッとWebスクレイピングする
[2023-11-01] GitHub Copilot 使ってみた.pptx
「CodeYourRuby」で オープンなコードレビューを体験しよう
Git Flowを運用するために

More from Hiroshi Maekawa (20)

PDF
新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜
PDF
老舗大企業からスタートアップでの二年間
PDF
芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー
PDF
第8回大阪Jenkins勉強会LT: iOS vs CI
PDF
Visual Studio Online as a CI Service
PDF
Travis, Circle そして Jenkins 2.0
PDF
Dockerとdev ops
PDF
Getting Start with React Native
PDF
「価値探索」がつないだクライアントと開発者の絆
PDF
「価値探索」がつないだ
クライアントと開発者の絆
 〜Craful開発チームの60日〜
PDF
スタートアップこそ巨人の肩に乗りまくれ! 〜Craful開発とMackerel〜
PDF
iOSのCI as a Service事情
PDF
テスト自動化のパターンと実践
PDF
テスト自動化のパタンランゲージ@Agilet Tour Osaka
PDF
雑食系エンジニアの作りかた
PDF
T4 Template 入門
PDF
自動化パタンランゲージ
PDF
事例から見るテスト自動化のポイント
PDF
C#とaop
PDF
Linq to XXXX(Reactive Extensionsの紹介)
新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜
老舗大企業からスタートアップでの二年間
芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー
第8回大阪Jenkins勉強会LT: iOS vs CI
Visual Studio Online as a CI Service
Travis, Circle そして Jenkins 2.0
Dockerとdev ops
Getting Start with React Native
「価値探索」がつないだクライアントと開発者の絆
「価値探索」がつないだ
クライアントと開発者の絆
 〜Craful開発チームの60日〜
スタートアップこそ巨人の肩に乗りまくれ! 〜Craful開発とMackerel〜
iOSのCI as a Service事情
テスト自動化のパターンと実践
テスト自動化のパタンランゲージ@Agilet Tour Osaka
雑食系エンジニアの作りかた
T4 Template 入門
自動化パタンランゲージ
事例から見るテスト自動化のポイント
C#とaop
Linq to XXXX(Reactive Extensionsの紹介)

Gitを使いこなしてみよう!