mk-toolブログ

エンジニアと家のことをごちゃごちゃと書いてます

masterブランチにcommitしたという濡れ衣

本当にあった怖い話、何かを知っていれば全く怖くない話。

masterブランチ(masterとかmainとか、とりあえずその辺の名前)に直接commitしていないのに、直接masterにcommitしましたよね?、という問い合わせ。 確かに git log でAuthorを見てみると、Authorは自分になっている。。。 でも私はそんなにバカではないはず、、、なのに git log がそう言っているなら私は何も言い返せない、、、という状況になった。

実はこれ、リリース時にcherrypickされてリリースされていた。cherrypickをすると、

そのcommitは同じcommitメッセージで同じAuthorでmasterブランチに直接新しいcommitが作成される

という事態になる。 ただ、cherrypickをすると、committerはcherrypickした人の名前になるため、committerを表示すれば「私じゃありません!!」と証明することができる。

git log --pretty=format:"[%ad] %h %an : %s: %cn"

(参照:https://qiita.com/harukasan/items/9149542584385e8dea75)

困ったことに、 git log や SourceTree ではAuthorしか出ないので、このような怖い話になる。

この情報に至れなかった人は「masterに直接commitしちゃったヤバい人」みたいな状態になるのかな。。。