Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
チーム開発での犯人探し
Search
yanskun
August 27, 2020
Technology
1
310
チーム開発での犯人探し
https://easy2.connpass.com/event/184665/
で発表した内容
yanskun
August 27, 2020
Tweet
Share
More Decks by yanskun
See All by yanskun
組織内で使われている言語を取得する gh extension を作った
yanskun
0
150
My Terminal
yanskun
0
32
Create Chrome Extension!
yanskun
0
130
Lets' OSS Contribute
yanskun
0
160
Gardening by GitHub Projects
yanskun
0
30
Codespaces を使って古のプロジェクトを復活させる
yanskun
0
49
git alias で カスタムコマンドを作成
yanskun
0
16
Release を簡単にやる方法
yanskun
0
110
爆速で作る 技術ブログ
yanskun
0
88
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
57k
SCSAから学ぶセキュリティ管理
masakamayama
0
140
ビジネスと現場活動をつなぐソフトウェアエンジニアリング~とあるスタートアッププロダクトの成長記録より~
mizunori
0
210
開発者が自律的に AWS Security Hub findings に 対応する仕組みと AWS re:Invent 2024 登壇体験談 / Developers autonomously report AWS Security Hub findings Corresponding mechanism and AWS re:Invent 2024 presentation experience
kaminashi
0
190
まだ間に合う! エンジニアのための生成AIアプリ開発入門 on AWS
minorun365
PRO
4
580
技術負債の「予兆検知」と「状況異変」のススメ / Technology Dept
i35_267
1
1k
The 5 Obstacles to High-Performing Teams
mdalmijn
0
270
関東Kaggler会LT: 人狼コンペとLLM量子化について
nejumi
3
460
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
22
5.8k
Classmethod AI Talks(CATs) #15 司会進行スライド(2025.02.06) / classmethod-ai-talks-aka-cats_moderator-slides_vol15_2025-02-06
shinyaa31
0
170
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
0
150
依存関係があるコンポーネントは Barrel ファイルでまとめよう
azukiazusa1
3
530
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Facilitating Awesome Meetings
lara
51
6.2k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
A designer walks into a library…
pauljervisheath
205
24k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Designing Experiences People Love
moore
139
23k
Adopting Sorbet at Scale
ufuk
74
9.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
The Invisible Side of Design
smashingmag
299
50k
Transcript
git コマンドを 完全に理解した僕の チーム開発での犯人探し yasudanaoya
<名前> yasuda naoya <技術> ❏ javascript ( vue, nuxt )
* ❏ Ruby ( rails ) 自称フロントエンジニア <アカウント> ❏ GitHub, Qiita, speakerdeck : yasudanaoya ❏ Twitter :@708yasuda 自己紹介
チーム開発をしていると こんな問題、遭遇しませんか?
なぜ?いつ?誰が? こんな変更加えたの? あっれれ〜おっかしいぞ この機能僕追加したはず なのになあ 消えてる...。 僕の意図とは全く別のメ ソッドに書き換えられて る....。 誰がやったんだ・・
よし、犯人を見つけよう
最近遭遇したケース yasuda が作った箇所が バグってます!!! 報告 ごめんなさい。 すぐ調査します。 プロパー社員 パートナー社員 yasuda
調査結果 どなたかが僕のコミットをリバートしていて、 そのまま放置されていました。 本当にありがとうございました。
調査方法 $ git checkout develop $ git pull $ git
log {対象のファイル名} とりあえずやるが何もわからない。
そこで使ったのが $ git log -S{思いつく書いていたコード} するとリバートしたコミットが出てきた...。 commit 12345678901234567890123456789012345678 Author: hoge
<
[email protected]
> Date: XXX XXX X 00:00:00 2020 +0900 リバートしたで
リバートした時のPRを探す 困ったときは google 先生に聞くんです。 [github.com/{organization名}/{repository名}/commit/{さっきのハッシュ値}] で検索します。 例 github.com/yasuda_famiry/travel/commit/12345…..
コミットのページに飛ぶ するとこんな感じのが表示されます。 この画像でいうところの「#26」が PR のリンクになります。 PR を見れば、大体の理由は記載されているので、 これを持って担当者に問い合わせます。
大詰め 担当者も PR なんていう物的証拠を持ち出されたら、回答できちゃうから、回答するし か無くなります 回答がわからない、思い出せない相手に対して、質問をしても相手は「ごめんなさい」 しか言えず、何の解消はしないし、再犯の恐れもあります。 大切なことは、相手が回答するヒントをこっち側で用意してあげるってのが大事です。 (時と場合によりますけどね?)
最後に、よく使うコマンドの紹介 $ git blame {file名} -L {見たい行の値},+{そこから何行見るか} クソ長いファイルだと、ただ git blame
するだけだと見にくくて仕方がないです。なの で、見たい行を絞ってあげるってのが必要です。 シーンとしては、不思議な変更を見つけた時に、その差分のコミットハッシュが知りたい 場合です。 コミットハッシュがわかれば、あとは、 git show {コミットハッシュ} で検索をすれば、全 量が見えて繋がりが見えるので、色々幸せになります。
おわりに 僕は git command が好きで、熱心に勉強をしている方だと思います。 その理由としては、ブルーオーシャンだからです。チームの中に有識者がいないので、 ちゃんと深めれば僕の価値が高くなるから。 結構打算的に取り組んでいたのです。
紹介 実は、 git command について、以下の媒体で記事を書いています。 • dev.to • Qiita よかったら見てやってください