こんにちは、エンジニアのオオバです。

Sourcetreeで追加してはいけない画像を
GitHubにアップロードしたことないですか?

「ヤバイ!間違えた!!」って。なりますよね。

ちなみにオオバも何度も間違えています(汗
(だって人間だもの)

ところで、 ミスしたときにメチャクチャ焦る人 があります。
エンジニアからみると、
「まあまあ落ち着いて下さい」 と言いたいです。
そんな大きな問題ではないことが多い。

むしろ焦って元に戻そうとして泥沼化するほうが怖いですね。
ミスしたコミットはすぐに直せます。

そう、Sourcetreeならね。
ただ操作方法を知らないだけなんですよね。

ということで、
間違えたファイルをコミットしてメチャメチャ焦る人に向けて
間違えたコミット、プッシュを直す方法 を紹介していきます。

これを覚えておくと間違えたときも
落ち着いて適切に対処できるようになりますよ。

基本は修正して再度コミット・プッシュで問題なし

間違えたファイルのgit操作ごとに
対処法を簡単にまとめました。

基本的には間違えたファイルをコミット、プッシュしたとしても
ファイルを修正して、再びコミット、プッシュすれば大丈夫 です。

どういう操作方法なのか詳細を解説していきます。

→11万文字で徹底解説した「DOTweenの教科書」Unityアニメーションの超効率化ツールはこちら

パターン1. 間違えたファイルのコミットを元に戻す方法

間違えたファイルをコミットしただけで、
プッシュ(アップロード)まではしていない場合は、
リセット すれば大丈夫です。

コミットとは作業の履歴のこと。
リセットとはコミットを打ち消す作業です。
つまり リセットすると作業の履歴を削除するということ なのです。

プッシュをしていないため、
作業の履歴をGitHubにアップロードしていません。

自分のPC上の作業履歴を削除するだけなので、
だれにも迷惑をかけませんし、 ミスもバレません。

Sourcetreeでリセットする方法

(例)misstakeブランチで作業して、
「間違えたコミット」を作りました。プッシュはしていません。

Sourcetreeは次のような状態です。

【UIデザイナー向け】間違えた画像のgitコミット、プッシュを直す方法_0

この「間違えたコミット」を なかったこと にしていきます。

【UIデザイナー向け】間違えた画像のgitコミット、プッシュを直す方法_1

「misstakeをこのコミットまで戻す」の
"misstake" 部分は作業を打ち消したいブランチ名です。

【UIデザイナー向け】間違えた画像のgitコミット、プッシュを直す方法_2

必ず Mixed を選択しましょう。
(デフォルトMixedが選択されています)

OK ボタンをクリックします。

【UIデザイナー向け】間違えた画像のgitコミット、プッシュを直す方法_3

すると間違えたコミットはなかったことになりました。
このあとは間違えた画像を修正し、
再びコミット、プッシュしてください。

コミットをリセットしない方がよいパターン

【UIデザイナー向け】間違えた画像のgitコミット、プッシュを直す方法_4

プッシュはしていないが、
いくつかコミットをしている場合は注意です。

間違えたコミットのあとに正しいコミットがある場合、
さきのリセットをしてしまうと、
正しいコミットも打ち消されてしまいます。

【UIデザイナー向け】間違えた画像のgitコミット、プッシュを直す方法_5

この場合は、リセットはせずに
間違えた画像を修正して再びコミットするのが良いでしょう。

エンジニア用語ではリセット

なぜここで「リセット」という名前を出しているかというと、
Sourcetree上で使われている「このコミットまで戻す」行為は
git内部では "リセット" と呼ばれているためです。

エンジニアと対話するときは、
「リセット」と言ったほうが話は伝わりやすいでしょう。

パターン2. 間違えたファイルをプッシュした場合の直し方

間違えたファイルをコミットして、
プッシュまでした場合の直し方の紹介です。

【UIデザイナー向け】間違えた画像のgitコミット、プッシュを直す方法_6

このような状態です。
"origin/misstake" とあるため、
GitHubに間違えたコミットがアップロードされています。

いくつか直し方はありますが、
最も安全な方法 を紹介します。

画像を修正して再びコミット、プッシュしてください。

【UIデザイナー向け】間違えた画像のgitコミット、プッシュを直す方法_7

間違えたファイルを修正してコミット。

【UIデザイナー向け】間違えた画像のgitコミット、プッシュを直す方法_8

修正したコミットをプッシュ。

これで間違えたコミットが打ち消され、
正常な状態に戻りました。

ミスした過去はGitHubに残りますが、
メンバーに迷惑をかけることはありません。

パターン3. 本流ブランチにマージまでされた場合の直し方

最後に間違えたコミットをプッシュして、
本流ブランチにまでマージされた場合の直し方です。

【UIデザイナー向け】間違えた画像のgitコミット、プッシュを直す方法_9

このように「間違えたコミット」が、
本流のmainブランチにマージされた状態です。

この場合の手段は一択です。
さきほどの「間違えたファイルをプッシュした場合の直し方」と同じ、
修正コミットして、プッシュ します。

【UIデザイナー向け】間違えた画像のgitコミット、プッシュを直す方法_10

まずは修正画像のコミット。

【UIデザイナー向け】間違えた画像のgitコミット、プッシュを直す方法_11

修正コミットのプッシュ。

【UIデザイナー向け】間違えた画像のgitコミット、プッシュを直す方法_12

レビューが終わったらマージされ
本流ブランチが正常な状態になりました。

これで安心。

まとめ : 間違えた画像のgitコミット、プッシュを直す方法

記事の内容を簡単にまとめます。

こんな感じです。

ケースごとに対応方法は変わってきますが、
基本的には修正コミットをいれ、プッシュする。 それだけです。
本当に焦る必要はありません。

ミスが怖くてgitが苦手な方へ、
この記事を読んで直す方法を覚えると道がひらけます。

自転車もブレーキを覚えると、安心しませんか?
gitも同じです。

間違ったコミットの直し方さえ知っていれば安心できます。

gitは業界的によく使われるテクノロジーで
UIデザイナーにとっても必須スキル に近いです。

ぜひともgitのブレーキを覚えて
安心して使えるようになってもらえればと思います。

「Unity初心者大学」というUnity初心者向けのYouTube始めました!!
ぜひチャンネル登録をお願いします!

最後まで読んでいただきありがとうございました!
すばらしいSourceTreeライフをお過ごしください。

オススメ記事