SlideShare una empresa de Scribd logo
1 de 22
gitの履歴を線形に保つ
@y42sora
2013/07/07
今回の発表は100%の正解では
ありません
いろんなところから
斧が飛んでくる可能性があります
Gitでマージを適当に使うと…
Gitでマージを適当に使うと…
わかりやすいコミットグラフ
○ ×
Git-flowだとわりと起きる…
Git-flowだとわりと起きる…
つ git rebase
git rebase
git rebase <branch name>
現在のブランチのコミットを全て、
指定したブランチに対して実行し直す
図解
develop
feat/login
今ココ
図解
develop
feat/login
git rebase develop
今ココ
図解
develop
feat/login
図解
develop
feat/login
図解
develop
feat/login
図解
develop
feat/login
図解
develop
マージとrebaseの比較
• マージ
簡単操作
過去のデータは一切変更しない
コミットグラフの地下鉄路線図化
• rebase
コミットごとにコンフリクト処理
過去のデータを変更してしまう
コミットグラフは見やすくなる
pushしたやつをrebaseすると大変な事に…
運用例
develop、masterに対してはマージする
マージコミットを作成してマージする
変更とそれに付随する一連のコミットがわかるように
機能3
機能2
機能1
運用例
マージ前は最新版にrebase
レビュー後に自動マージすることで、
developに対してコンフリクト解決によるミスを入れてしまわないため
←マージミス
←マージミスがdevelopに
運用例
マージ前は最新版にrebase
レビュー後に自動マージすることで、
developに対してコンフリクト解決によるミスを入れてしまわないため
developにマージする前に最新版のdevelopの変更を取り込む
(branchにdevelopをマージする)というのもありだけど、
できればトピックブランチに別のトピックの変更を入れるのは避けたい
開発単位を小さくしてこまめにrebaseすれば
そんなにコンフリクト解決で死んだりしない(多分
運用例
作業用ブランチは作った人の自由
pushした後にrebaseしようが何でもOK
レビュー前にはレビューしてもらう人が責任もってdevelopにrebase
レビューの修正を反映する場合は履歴を書き換えるのは避けた方が良さそう
おまけ
SourceTree便利だよ!
リポジトリを見るならこれで

Más contenido relacionado

La actualidad más candente

Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)Masashi Umezawa
 
今更聞けない!?Microsoft Graph で始める Office 365 データ活用と事例の紹介
今更聞けない!?Microsoft Graph で始める Office 365 データ活用と事例の紹介今更聞けない!?Microsoft Graph で始める Office 365 データ活用と事例の紹介
今更聞けない!?Microsoft Graph で始める Office 365 データ活用と事例の紹介Kenichiro Nakamura
 
人間と話す: Lean Customer Development (Lean Startup Update 2015)
人間と話す: Lean Customer Development (Lean Startup Update 2015)人間と話す: Lean Customer Development (Lean Startup Update 2015)
人間と話す: Lean Customer Development (Lean Startup Update 2015)Takaaki Umada
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugItsuki Kuroda
 
マッチングサービスにおけるKPIの話
マッチングサービスにおけるKPIの話マッチングサービスにおけるKPIの話
マッチングサービスにおけるKPIの話cyberagent
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話Koichiro Matsuoka
 
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)増田 亨
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかAtsushi Nakada
 
Leanstartupをリーンにヤル #リーンスタートアップ
Leanstartupをリーンにヤル #リーンスタートアップLeanstartupをリーンにヤル #リーンスタートアップ
Leanstartupをリーンにヤル #リーンスタートアップItsuki Kuroda
 
[Cloud OnAir] BigQuery ML と AutoML Tables で はじめるマーケティング分析入門 2019年5月23日 放送
[Cloud OnAir] BigQuery ML と AutoML Tables で はじめるマーケティング分析入門 2019年5月23日 放送[Cloud OnAir] BigQuery ML と AutoML Tables で はじめるマーケティング分析入門 2019年5月23日 放送
[Cloud OnAir] BigQuery ML と AutoML Tables で はじめるマーケティング分析入門 2019年5月23日 放送Google Cloud Platform - Japan
 
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないCarnot Inc.
 
マーケティングを捨てよ、サポートへ出よう 事例から見るスタートアップ初期におけるユーザー獲得
マーケティングを捨てよ、サポートへ出よう 事例から見るスタートアップ初期におけるユーザー獲得マーケティングを捨てよ、サポートへ出よう 事例から見るスタートアップ初期におけるユーザー獲得
マーケティングを捨てよ、サポートへ出よう 事例から見るスタートアップ初期におけるユーザー獲得Takaaki Umada
 
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込むYoshiki Hayama
 
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkan
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkanリーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkan
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkanItsuki Kuroda
 
絶望と最後の希望
絶望と最後の希望絶望と最後の希望
絶望と最後の希望Tatsuya Sato
 
CloudNativeな決済サービスの開発と2年間の歩み #sf_A4
CloudNativeな決済サービスの開発と2年間の歩み #sf_A4CloudNativeな決済サービスの開発と2年間の歩み #sf_A4
CloudNativeな決済サービスの開発と2年間の歩み #sf_A4Junya Suzuki
 
「プロジェクト管理」を超えた Redmine 活用の道のりとこれから
「プロジェクト管理」を超えた Redmine 活用の道のりとこれから「プロジェクト管理」を超えた Redmine 活用の道のりとこれから
「プロジェクト管理」を超えた Redmine 活用の道のりとこれからMinoru Maeda
 
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説Livesense Inc.
 
オーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiAオーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiAOre Product
 

La actualidad más candente (20)

Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
 
今更聞けない!?Microsoft Graph で始める Office 365 データ活用と事例の紹介
今更聞けない!?Microsoft Graph で始める Office 365 データ活用と事例の紹介今更聞けない!?Microsoft Graph で始める Office 365 データ活用と事例の紹介
今更聞けない!?Microsoft Graph で始める Office 365 データ活用と事例の紹介
 
人間と話す: Lean Customer Development (Lean Startup Update 2015)
人間と話す: Lean Customer Development (Lean Startup Update 2015)人間と話す: Lean Customer Development (Lean Startup Update 2015)
人間と話す: Lean Customer Development (Lean Startup Update 2015)
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 
マッチングサービスにおけるKPIの話
マッチングサービスにおけるKPIの話マッチングサービスにおけるKPIの話
マッチングサービスにおけるKPIの話
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
Leanstartupをリーンにヤル #リーンスタートアップ
Leanstartupをリーンにヤル #リーンスタートアップLeanstartupをリーンにヤル #リーンスタートアップ
Leanstartupをリーンにヤル #リーンスタートアップ
 
[Cloud OnAir] BigQuery ML と AutoML Tables で はじめるマーケティング分析入門 2019年5月23日 放送
[Cloud OnAir] BigQuery ML と AutoML Tables で はじめるマーケティング分析入門 2019年5月23日 放送[Cloud OnAir] BigQuery ML と AutoML Tables で はじめるマーケティング分析入門 2019年5月23日 放送
[Cloud OnAir] BigQuery ML と AutoML Tables で はじめるマーケティング分析入門 2019年5月23日 放送
 
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
 
マーケティングを捨てよ、サポートへ出よう 事例から見るスタートアップ初期におけるユーザー獲得
マーケティングを捨てよ、サポートへ出よう 事例から見るスタートアップ初期におけるユーザー獲得マーケティングを捨てよ、サポートへ出よう 事例から見るスタートアップ初期におけるユーザー獲得
マーケティングを捨てよ、サポートへ出よう 事例から見るスタートアップ初期におけるユーザー獲得
 
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
 
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkan
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkanリーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkan
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkan
 
絶望と最後の希望
絶望と最後の希望絶望と最後の希望
絶望と最後の希望
 
CloudNativeな決済サービスの開発と2年間の歩み #sf_A4
CloudNativeな決済サービスの開発と2年間の歩み #sf_A4CloudNativeな決済サービスの開発と2年間の歩み #sf_A4
CloudNativeな決済サービスの開発と2年間の歩み #sf_A4
 
Tackling Complexity
Tackling ComplexityTackling Complexity
Tackling Complexity
 
「プロジェクト管理」を超えた Redmine 活用の道のりとこれから
「プロジェクト管理」を超えた Redmine 活用の道のりとこれから「プロジェクト管理」を超えた Redmine 活用の道のりとこれから
「プロジェクト管理」を超えた Redmine 活用の道のりとこれから
 
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説
 
オーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiAオーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiA
 

Destacado

ぎっと、これから
ぎっと、これからぎっと、これから
ぎっと、これからRyo Tajima
 
学校にギークっぽい集団を作ってみたかった Kosenconf946 #2
学校にギークっぽい集団を作ってみたかった Kosenconf946 #2学校にギークっぽい集団を作ってみたかった Kosenconf946 #2
学校にギークっぽい集団を作ってみたかった Kosenconf946 #2Takuya Mukohira
 
Gitを使った開発ワークフロー
Gitを使った開発ワークフローGitを使った開発ワークフロー
Gitを使った開発ワークフローShiro Miyazaki
 
git flowを使った開発フロー
git flowを使った開発フローgit flowを使った開発フロー
git flowを使った開発フローshigetoshi komatsu
 
Git flow概要紹介
Git flow概要紹介Git flow概要紹介
Git flow概要紹介y42sora
 
こわくない Git
こわくない Gitこわくない Git
こわくない GitKota Saito
 

Destacado (7)

ぎっと、これから
ぎっと、これからぎっと、これから
ぎっと、これから
 
学校にギークっぽい集団を作ってみたかった Kosenconf946 #2
学校にギークっぽい集団を作ってみたかった Kosenconf946 #2学校にギークっぽい集団を作ってみたかった Kosenconf946 #2
学校にギークっぽい集団を作ってみたかった Kosenconf946 #2
 
Gitを使った開発ワークフロー
Gitを使った開発ワークフローGitを使った開発ワークフロー
Gitを使った開発ワークフロー
 
git flowを使った開発フロー
git flowを使った開発フローgit flowを使った開発フロー
git flowを使った開発フロー
 
Git flow概要紹介
Git flow概要紹介Git flow概要紹介
Git flow概要紹介
 
SCM Boot Camp
SCM Boot CampSCM Boot Camp
SCM Boot Camp
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 

Similar a gitの履歴を線形に保つ

Git講習会
Git講習会Git講習会
Git講習会galluda
 
Gitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめGitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめNatsumi Kashiwa
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門to_ueda
 
Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Makoto Kawano
 
Gitの便利ワザ
Gitの便利ワザGitの便利ワザ
Gitの便利ワザktateish
 
Gitを使ってみませんか
Gitを使ってみませんかGitを使ってみませんか
Gitを使ってみませんかAtsuhiro Takiguchi
 
実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る GitYouhei Nitta
 
20120324 git training
20120324 git training20120324 git training
20120324 git trainingTakeshi AKIMA
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座貴一 末田
 
Gitプレゼンテーション
GitプレゼンテーションGitプレゼンテーション
GitプレゼンテーションMasaru Ookawa
 
Git 初心者のための GitHub Pages
Git 初心者のための GitHub PagesGit 初心者のための GitHub Pages
Git 初心者のための GitHub PagesTakenori Nakagawa
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルComputational Materials Science Initiative
 
バージョン管理
バージョン管理バージョン管理
バージョン管理Misa Kondo
 
今更だけど 「git rebase」の 使い方を覚えた話
今更だけど 「git rebase」の 使い方を覚えた話今更だけど 「git rebase」の 使い方を覚えた話
今更だけど 「git rebase」の 使い方を覚えた話iPride Co., Ltd.
 

Similar a gitの履歴を線形に保つ (20)

Git講習会
Git講習会Git講習会
Git講習会
 
Gitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめGitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめ
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門
 
Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)
 
Gitの便利ワザ
Gitの便利ワザGitの便利ワザ
Gitの便利ワザ
 
Gitを使ってみませんか
Gitを使ってみませんかGitを使ってみませんか
Gitを使ってみませんか
 
ゼミGit
ゼミGitゼミGit
ゼミGit
 
Git勉強会
Git勉強会Git勉強会
Git勉強会
 
実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git
 
Git 勉強会
Git 勉強会Git 勉強会
Git 勉強会
 
Github第4章
Github第4章Github第4章
Github第4章
 
Gitの使い方あれこれ
Gitの使い方あれこれGitの使い方あれこれ
Gitの使い方あれこれ
 
20120324 git training
20120324 git training20120324 git training
20120324 git training
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座
 
Gitプレゼンテーション
GitプレゼンテーションGitプレゼンテーション
Gitプレゼンテーション
 
Git 初心者のための GitHub Pages
Git 初心者のための GitHub PagesGit 初心者のための GitHub Pages
Git 初心者のための GitHub Pages
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアル
 
Gitの紹介
Gitの紹介Gitの紹介
Gitの紹介
 
バージョン管理
バージョン管理バージョン管理
バージョン管理
 
今更だけど 「git rebase」の 使い方を覚えた話
今更だけど 「git rebase」の 使い方を覚えた話今更だけど 「git rebase」の 使い方を覚えた話
今更だけど 「git rebase」の 使い方を覚えた話
 

gitの履歴を線形に保つ