1
/
5

-Qiita記事Part.31-新人エンジニアが初めて”revert”したのでメモ

こんにちは、ナイトレイインターン生の鈴木です。
Wantedlyをご覧の方に、ナイトレイのエンジニアがどのようなことをしているか知っていただきたく、Qiitaに公開している記事をストーリーに載せています。

今回はエンジニア船津さんの記事です。
少しでも私たちに興味を持ってくれた方は下に表示される募集記事もご覧ください↓↓

revertとは

git revertは、任意のコミットを取り消すときに使えるコマンドです。例えば、新しい機能を導入した際に深刻なバグが発見されたときや、誤って間違ったブランチをマージしてしまったときに、そのコミットを取り消すことができます。

git revertの仕組み

git revertコマンドは、指定したコミットによって導入された変更を打ち消すための新たなコミットを作成します。これにより、元のコミット自体は変更されず履歴に残り続けます。

具体的には、

$ git revert commitID

を実行すると、指定されたコミットIDによる変更を解析し、それを打ち消すための新しいコミットを作成します。この新しいコミットは、現在のブランチに自動的に反映されます。

revertの方法

GitHub上から

既にマージされたコミットは、該当するPRのページから、revertボタンをクリックすると実行されます。

通常のコミットは、Pull Request → commits → view commit details→revertボタンをクリックで実行されます。しかし、後者のrevertボタンは、全てのリポジトリで有効になっているわけではなく、適切なアクセス権が必要になるようです。

コマンドで

$ git revert commitID
で実行することができます。

commitIDの探し方

GitHub上から

GitHub上で、Pull Request → commits → view commit detailsから確認することができます。

コマンドで

$ git log
過去のコミットを遡ることができます。commitの横に表示される40桁の16進数がcommitIDです。

ログはqで閉じることができます。

こちらのコマンドは、1つのコミットにつき6行ほどにわたって情報が表示されるので、長い履歴を持つプロジェクトにおいては少し読みづらいです。そこで便利なのが、以下のコマンドです。

$ git log --oneline
上記のコマンドでは、1つのコミットにつき、文字通りoneline、つまり1行で履歴を表示してくれます。このコマンドで表示されるcommit IDは、通常40桁で表示されるIDの先頭7~10桁を取り出す形で短縮されたものですが、こちらのIDもrevertコマンドで使うことができます。

注意点

①revertしたいコミットをマージした後に、別ブランチからの変更が加わっていると、ブラウザから手動でコンフリクトを解決する必要が生じます。

②gitには、revert以外にもgit resetgit checkoutなど、変更を取り消すときに使えるコマンドが用意されています。必要に応じて、使い分ける必要がありそうです。(3つの違いは後日まとめてみます)

最後に

私たちの会社、ナイトレイでは一緒に事業を盛り上げてくれるエンジニアを募集しています!
Web開発メンバー、GISエンジニア、サーバーサイドエンジニアなど複数ポジションで募集しているため、
「専攻分野を活かしたい」「横断的に様々な業務にチャレンジしてみたい」と言ったご要望も相談可能です!

✔︎ GISの使用経験があり、観光・まちづくり・交通・防災系などの分野でスキルを活かしてみたい
✔︎ ビッグデータの処理が好き!(達成感を感じられる)
✔︎ データベース構築、サーバー周りを触るのが好き
✔︎ 社内メンバーだけではなく顧客とのやり取りも実はけっこう好き
✔︎ 自社Webサービスの開発で事業の発展に携わってみたい
✔︎ 地理や地図が好きで、位置情報データにも興味を持っている

一つでも当てはまる方は是非お気軽に「話を聞きに行きたい」ボタンを押してください!

Invitation from 株式会社ナイトレイ
If this story triggered your interest, have a chat with the team?
株式会社ナイトレイ's job postings

Weekly ranking

Show other rankings
Like 鈴木 梨子's Story
Let 鈴木 梨子's company know you're interested in their content