SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
コミュ障のための
Pull Request
–僕
アッ…良いPull Requestに言葉はイ、要らぬ
なるべくいいかんじに
Pull Requestをして
コミュニケーションでつらい思いをしないために
あなたのコードはどこから?
Master Branch
にPushできる
複数人で

開発している
リポジトリ共有式
Pull Request
fork式
Pull Request
yes
no
yes
普通に
Commit
no
あなたのコードはどこから?
Master Branch
にPushできる
複数人で

開発している
リポジトリ共有式
Pull Request
fork式
Pull Request
yes
no
yes
普通に
Commit
no
今回のトピックはこちら
Pull Requestの流れ
fork式
Pull Request forkする
cloneする
Prototype
branch作成
更新に対応した
branch作成
Pull Request
誰かのリポジトリをforkする
fork式
Pull Request forkする
cloneする
Prototype
branch作成
更新に対応した
branch作成
Pull Request
–僕
誰かがいたら、困ってねぇし練習してるよ
練習に便利な
「誰かのリポジトリ」
• GithubのOctcatさんの
• Spoon-Knife
• 英語だけど怯まない
https://github.com/octocat/Spoon-Knife
forkしたリポジトリをclone
fork式
Pull Request forkする
cloneする
Prototype
branch作成
更新に対応した
branch作成
Pull Request
forkしたリポジトリをclone
fork式
Pull Request forkする
cloneする
Prototype
branch作成
更新に対応した
branch作成
Pull Request
$ git clone git@github.com:hoge/Spoon-Knife.git
$ cd Spoon-Knife
Prototype branch
で試行錯誤
fork式
Pull Request forkする
cloneする
Prototype
branch作成
更新に対応した
branch作成
Pull Request
$ git checkout -b Spoon-Knife_prototype
Switched to a new branch Spoon-Knife_prototype
$ vim README.md #試行錯誤その1
$ git commit -am 試行錯誤1
$ vim README.md #試行錯誤その2
$ git commit -am 試行錯誤2
こんなログがでましたね?
$ git log
[ /Development/Spoon-Knife]
commit 550f2579700000000000000000000000000000
Author: hogehoge
Date: Thu May 1 20:45:09 2112 +0900
!
試行錯誤2
!
commit 17e3ef37700000000000000000000000000000
Author: hogehoge
Date: Thu May 8 20:44:13 2112 +0900
!
試行錯誤1
Prototype branch
をpush
fork式
Pull Request forkする
cloneする
Prototype
branch作成
更新に対応した
branch作成
Pull Request
$ git push origin Spoon-Knife_prototype
Githubに行くと
さあPull Requestだ
My Pull Request
• Pull Request: ここ、なおしたったで
• fork元の変更?コンフリクト?しらんがな
• そっちでなんとかしてや^ー^v
(#^ω^)ビキビキ
fork元の更新を適用
fork式
Pull Request forkする
cloneする
Prototype
branch作成
更新に対応した
branch作成
Pull Request
$ git remote add upstream https://github.com/
octocat/Spoon-Knife.git #初回のみ
$ git stash
$ git checkout master
$ git pull upstream master
$ git checkout Spoon-Knife_prototype
$ git rebase master Spoon-Knife_prototype
# ここでコンフリクトしたら適宜直す
$ git push origin master
$ git push -f origin Spoon-Knife_prototype
!
$ git checkout Spoon-Knifea_prototype
$ git stash pop
# ここでもコンフリクトしたら適宜直す
Pull Requestが来ると
やっぱちょっとうれしい。
どんなのかな?
Pull Request List
• List1 変えたよ author: Hoge
• List2 変えたった author: Hoge
• List3 変えましたわ! author: Hoge
• List4 か、変えてやったわ…/// author: Hoge
• List5 変えたお author: Hoge
(#^ω^)ビキビキ
Pull Request用に
commitをまとめる
fork式
Pull Request forkする
cloneする
Prototype
branch作成
更新に対応した
branch作成
Pull Request
$ git checkout Spoon-Knife_prototype
$ git checkout -b Spoon-Knife_PR
$ git rebase -i master
!
##【編集前】エディタ上
pick e310d46 試行錯誤1
pick 1452498 試行錯誤2
##【編集後】エディタ上
pick e310d46 試行錯誤
squash 1452498 2つ目以降のcommit
!
ログはこれまでの変更をまとめたものを書く。
「なにを、どうして、どうやって変えたか」
!
これでSpoon-Knife_PRに1つのcommitとしてま
とまる。
Pull Requestを送る
fork式
Pull Request forkする
cloneする
Prototype
branch作成
更新に対応した
branch作成
Pull Request
$ git push origin Spoon-Knife_PR
GithubからPull Requestを送る
メッセージ欄で色々やりとりして
認められたらたぶんマージされる.
!
これまでの流れを実践し、
良いコードを書くと
ここが減らせるかも
こんなかんじ
・平易な表現
・issue番号やコードを明確に示す
・何をした(Fix, Add, Support)か示す
と受け取った時
わかりやすいかも。
例:
Title: Fix FUGAFUGA(#23).
Change HOGEHOGE for FUGAFUGA(#23).
これであなたも
立派なプルリク充

Weitere ähnliche Inhalte

Mehr von EnsekiTT

第1回競技プログラミング初心者がAtCoderのABC問題をもくもくやる会
第1回競技プログラミング初心者がAtCoderのABC問題をもくもくやる会第1回競技プログラミング初心者がAtCoderのABC問題をもくもくやる会
第1回競技プログラミング初心者がAtCoderのABC問題をもくもくやる会EnsekiTT
 
Mission street map
Mission street mapMission street map
Mission street mapEnsekiTT
 
Firefox OS + Raspberry Pi
Firefox OS + Raspberry PiFirefox OS + Raspberry Pi
Firefox OS + Raspberry PiEnsekiTT
 
ぶっとびケータイ+Firefox OS Apps
ぶっとびケータイ+Firefox OS Appsぶっとびケータイ+Firefox OS Apps
ぶっとびケータイ+Firefox OS AppsEnsekiTT
 
Firefox OS + Raspberry Pi
Firefox OS + Raspberry PiFirefox OS + Raspberry Pi
Firefox OS + Raspberry PiEnsekiTT
 
Addon sdkはじめの一歩
Addon sdkはじめの一歩Addon sdkはじめの一歩
Addon sdkはじめの一歩EnsekiTT
 

Mehr von EnsekiTT (7)

第1回競技プログラミング初心者がAtCoderのABC問題をもくもくやる会
第1回競技プログラミング初心者がAtCoderのABC問題をもくもくやる会第1回競技プログラミング初心者がAtCoderのABC問題をもくもくやる会
第1回競技プログラミング初心者がAtCoderのABC問題をもくもくやる会
 
Mission street map
Mission street mapMission street map
Mission street map
 
Firefox OS + Raspberry Pi
Firefox OS + Raspberry PiFirefox OS + Raspberry Pi
Firefox OS + Raspberry Pi
 
EEG x Web
EEG x WebEEG x Web
EEG x Web
 
ぶっとびケータイ+Firefox OS Apps
ぶっとびケータイ+Firefox OS Appsぶっとびケータイ+Firefox OS Apps
ぶっとびケータイ+Firefox OS Apps
 
Firefox OS + Raspberry Pi
Firefox OS + Raspberry PiFirefox OS + Raspberry Pi
Firefox OS + Raspberry Pi
 
Addon sdkはじめの一歩
Addon sdkはじめの一歩Addon sdkはじめの一歩
Addon sdkはじめの一歩
 

コミュ障のためのPull Request 〜そしてプルリク充へ〜