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
モノレポ開発のエラー、誰が見る?Datadog で実現する適切なトリアージとエスカレーション
biwashi
6
770
AWSでRAGを実現する上で感じた3つの大事なこと
ymae
3
1k
MC906491 を見据えた Microsoft Entra Connect アップグレード対応
tamaiyutaro
1
480
Classmethod AI Talks(CATs) #15 司会進行スライド(2025.02.06) / classmethod-ai-talks-aka-cats_moderator-slides_vol15_2025-02-06
shinyaa31
0
170
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
230
プロセス改善による品質向上事例
tomasagi
1
1.6k
SA Night #2 FinatextのSA思想/SA Night #2 Finatext session
satoshiimai
1
100
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
950
マルチモーダル理解と生成の統合 DeepSeek Janus, etc... / Multimodal Understanding and Generation Integration
hiroga
0
360
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
0
120
管理者しか知らないOutlookの裏側のAIを覗く#AzureTravelers
hirotomotaguchi
2
240
FastConnect の冗長性
ocise
1
9.6k
Featured
See All Featured
Six Lessons from altMBA
skipperchong
27
3.6k
Facilitating Awesome Meetings
lara
51
6.2k
Optimizing for Happiness
mojombo
376
70k
The Pragmatic Product Professional
lauravandoore
32
6.4k
The Cult of Friendly URLs
andyhume
78
6.2k
4 Signs Your Business is Dying
shpigford
182
22k
Thoughts on Productivity
jonyablonski
69
4.5k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Adopting Sorbet at Scale
ufuk
74
9.2k
How to train your dragon (web standard)
notwaldorf
90
5.8k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
GraphQLとの向き合い方2022年版
quramy
44
13k
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 よかったら見てやってください