GitHubで前の状態に戻す方法【画像つき】ブラウザだけで履歴から復元

前の状態に戻すことを表すイラスト。書類を囲む巻き戻しの矢印と、履歴の丸が並ぶ ブラウザで基本操作
難易度 入門所要時間 約30分画面の確認日 2026年10月25日
対象読者と前提

GitHubでファイルを書き換えたあとに、前の状態へ戻したい人。間違えて消したファイルを、元に戻したい人。コミットとはで履歴の見方を知っていると、読みやすくなります。ブラウザだけで進めます。コマンドは使いません。

「ファイルを書き換えたけれど、やっぱり前のほうがよかった」「間違えて消したファイルを戻したい」「コミットを取り消すボタンは、どこ?」

GitHubのファイルの画面には、「取り消し」のボタンはありません。かわりに、履歴から前のバージョンを開き、その内容でファイルを書き直して、コミットします。この記事では、この方法を、3つの段階に分けて、1回のクリックごとの画面で説明します。

  1. ファイルを書き換えて前の内容に戻す
  2. 消したファイルを戻す
  3. 応用: マージしたプルリクエストを「Revert」でまとめて戻す

前の段階の操作を覚えれば、次の段階が分かるように、順番に並べています。段階3は、読み飛ばしても、前の2つは使えます。

戻すとはどういうことか

GitHubは、ファイルを保存するたびに、「コミット」という記録を残します。ファイルの履歴を開くと、記録が新しい順に並びます。前のバージョンの中身は、記録に残っていて、あとから開けます。

「戻す」は、前のバージョンの内容で、ファイルを書き直して、新しいコミットを作ることです。履歴が巻き戻って、書き換えの記録が消えるわけではありません。この記事の画面で、記録が増える様子を、実際に確かめます。

戻し方の選び方

戻したいものこの記事の方法
書き換えたファイルを、前の内容に戻したい段階1。履歴から前のバージョンを開き、内容をコピーして、書き直す
消したファイルを戻したい段階2。消す前のバージョンを開き、中身をコピーして、同じ名前で作り直す
マージしたプルリクエストを、まとめて戻したい段階3。プルリクエストの画面の「Revert」のボタン

準備 練習用のファイルを作って書き換える

戻す練習のために、先に、ファイルを作って、書き換えます。すでに書き換えたファイルがあるときは、段階1へ進みます。

0-1練習用のファイルを作る目安 4分

リポジトリのトップで「Code」の左の「+」を押します。

リポジトリのトップ。ファイルの一覧にREADME.mdがある。Codeの緑のボタンの左に、+のボタンがある。+のボタンに赤い枠がついている
①「+」のボタン

「Create new file」と「Upload files」の2つが出ます。「Create new file」を選びます。

+のボタンを押したメニュー。Create new fileとUpload filesの2つがある。Create new fileに赤い枠がついている
①「Create new file」

新しいファイルを作る画面が開きます。上の「Name your file…」がファイル名の欄で、下の広い欄が中身の入力欄です。

新しいファイルを作る画面。secret-test /の右に、Name your file...というファイル名の欄がある。下に、Enter file contents hereと出た入力欄がある。右上のCommit changes...は薄い色。ファイル名の欄に赤い枠がついている
①ファイル名の欄

ファイル名に「hello.txt」、中身に「Hello, GitHub!」と「これは、練習用のファイルです。」の2行を入れました。右上の「Commit changes…」が、濃い緑に変わります。

新しいファイルを作る画面。ファイル名の欄にhello.txt、入力欄に2行の文章が入っている。右上のCommit changes...が濃い緑になっている。ファイル名の欄と、2行の文章に赤い枠がついている
①ファイル名「hello.txt」 ②中身の2行

「Commit changes…」を押すと、「Commit changes」の窓が開きます。「Commit message」(コミットの説明)の欄には、「Add hello.txt with greeting and practice text」という候補が入っていて、下に「Message and description suggested by Copilot.」(Copilotが提案したメッセージ)と出ています。

Commit changesの窓。Commit messageの欄にAdd hello.txt with greeting and practice textと入っている。その下にExtended descriptionの欄、Message and description suggested by Copilot.の文、Commit directly to the main branchの選択、Commit changesのボタンがある。説明の欄と、Commit changesのボタンに赤い枠がついている
①コミットの説明の欄 ②「Commit changes」

候補は、自分の言葉に書き換えてかまいません。「練習用のファイルを追加」と入れて、「Commit changes」を押します。

Commit changesの窓。Commit messageの欄に、練習用のファイルを追加と入っている。説明の欄と、Commit changesのボタンに赤い枠がついている
①書き換えた説明 ②「Commit changes」

リポジトリのトップに戻ります。ファイルの一覧に「hello.txt」が増え、コミットの数が「4 Commits」になりました。

リポジトリのトップ。ファイルの一覧にREADME.mdとhello.txtが並び、hello.txtの行に、練習用のファイルを追加と出ている。コミットの数は4 Commits。hello.txtの行に赤い枠がついている
①追加された「hello.txt」
0-2ファイルを書き換える目安 3分

「hello.txt」を開きます。上の行の右端にある「History」が、履歴を見るボタンです。その下の、右端に並ぶアイコンの中の「えんぴつ」が、編集のボタンです。

hello.txtのファイルのページ。上の行に、練習用のファイルを追加というコミットの説明と、右にHistoryのボタンがある。ファイルの内容が2行表示され、右上にえんぴつのボタンがある。Historyとえんぴつのボタンに赤い枠がついている
①「History」 ②えんぴつ(編集)

えんぴつを押すと、編集の画面が開きます。ファイルの中身が、入力欄に出ます。書き換える前は、右上の「Commit changes…」が薄い色です。

hello.txtの編集の画面。入力欄にHello, GitHub!とこれは、練習用のファイルです。の2行が入っている。右上のCommit changes...が薄い色。Commit changes...に赤い枠がついている
①薄い色の「Commit changes…」

1行目を「こんにちは、GitHub!」、2行目を「これは、書き換えたファイルです。」に書き換えます。「Commit changes…」が、濃い緑に変わります。

hello.txtの編集の画面。入力欄にこんにちは、GitHub!とこれは、書き換えたファイルです。の2行が入っている。Commit changes...が濃い緑になっている。2行の文章と、Commit changes...に赤い枠がついている
①書き換えた文章 ②濃い緑になった「Commit changes…」

「Commit changes…」を押して、説明の欄に「あいさつを書き換え」と入れ、「Commit changes」を押します。

Commit changesの窓。Commit messageの欄に、あいさつを書き換えと入っている。説明の欄と、Commit changesのボタンに赤い枠がついている
①説明を書き換えた ②「Commit changes」

ファイルのページに戻ります。上の行は、「あいさつを書き換え」のコミットに変わり、書き換えた2行が表示されます。

hello.txtのファイルのページ。上の行にあいさつを書き換えと出ている。内容は、こんにちは、GitHub!とこれは、書き換えたファイルです。の2行。コミットの説明と、2行の文章に赤い枠がついている
①最新のコミットの説明が変わった ②書き換えた中身が表示された

段階1 書き換えたファイルを前の内容に戻す

ここまでで、「hello.txt」の履歴に、2つの記録ができました。書き換える前の状態を、いまのファイルに戻します。

1-1ファイルの履歴を開く目安 1分

ファイルのページの「History」(準備の画像の「①History」と同じ場所)を押します。そのファイルだけの、コミットの一覧が出ます。見出しは「History for secret-test / hello.txt on main」です。新しい順に、「あいさつを書き換え」と「練習用のファイルを追加」が並びます。

hello.txtの履歴。上にあいさつを書き換え、その下に練習用のファイルを追加の2つのコミットが並ぶ。それぞれの右に、Verifiedの印、コミットのID、3つのアイコンがある。下のコミットの2つ目のアイコンに赤い枠がついている
①戻したい時点(書き換える前)のコミットの書類の形のアイコン
1-2前のバージョンを開く目安 1分

戻したいのは、書き換える前の状態です。下の「練習用のファイルを追加」のコミットの、右のアイコンを見ます。3つのうち、真ん中の書類の形のアイコンに、マウスを近づけると、「View code at this point」(この時点のコードを見る)と出ます。

履歴の下のコミットの、真ん中のアイコンにマウスを近づけた画面。View code at this pointという吹き出しが出ている。アイコンに赤い枠がついている
①「View code at this point」

押すと、そのコミットの時点のファイルが開きます。左上のブランチの欄が、コミットのID(この例では「91b9591」)に変わります。ファイルの右上の並びには、「Raw」、コピー、ダウンロードのアイコンがあり、「えんぴつ」はありません。古いバージョンは、見るだけの画面です。

前のバージョンのhello.txtのページ。左上のブランチの欄が91b9591になっている。上の行は、練習用のファイルを追加。内容はHello, GitHub!とこれは、練習用のファイルです。右上の並びにはRaw、コピー、ダウンロードのアイコンがあり、えんぴつはない。ブランチの欄と、コピーのアイコンに赤い枠がついている
①ブランチの欄がコミットのIDになった ②コピーのアイコン ③「<」のボタン
1-3中身をコピーする目安 1分

右上のコピーのアイコンに、マウスを近づけると、「Copy raw file」(ファイルの中身を、そのままコピーする)と出ます。押します。

前のバージョンのhello.txtのページの右上。コピーのアイコンにマウスを近づけると、Copy raw fileという吹き出しが出ている。アイコンに赤い枠がついている
①「Copy raw file」
1-4最新のファイルに戻る目安 1分

左上のブランチの欄の左端にある、小さな「<」(古いバージョンの画像の③)を押すと、最新の「main」の、同じファイルのページに戻ります。ブランチの欄が「main」に戻り、内容は、書き換えたあとの文章です。

hello.txtのファイルのページ。ブランチの欄がmainに戻っている。上の行はあいさつを書き換え。内容はこんにちは、GitHub!とこれは、書き換えたファイルです。ブランチの欄に赤い枠がついている
①ブランチの欄が「main」に戻った ②えんぴつ(編集)
1-5コピーした中身を貼り付ける目安 2分

右上のえんぴつ(前の画像の②)を押して、編集の画面を開きます。入力欄には、書き換えたあとの文章が入っています。

hello.txtの編集の画面。入力欄にこんにちは、GitHub!とこれは、書き換えたファイルです。の2行が入っている。Commit changes...は薄い色。2行の文章に赤い枠がついている
①書き換えたあとの文章

入力欄のどこかをクリックして、キーボードの「Ctrl」と「A」を同時に押し、中身をすべて選びます。続けて「Ctrl」と「V」を同時に押して、貼り付けます。入力欄の中身が、書き換える前の2行(「Hello, GitHub!」と「これは、練習用のファイルです。」)に入れ替わります。2行目は、行の頭が少し右にずれて見えます。この例のファイルでは、2行目の頭に空白が入っているためです。空白があっても、戻す操作は同じです。

hello.txtの編集の画面。入力欄の2行の文章がすべて選ばれ、青く表示されている。2行の文章に赤い枠がついている
①すべて選んだ状態(この画像は非公開に切り替えたあとの別の撮影)

貼り付けると選んでいた文章がコピーした文章に置き換わります。

hello.txtの編集の画面。入力欄にHello, GitHub!とこれは、練習用のファイルです。の2行が入っている。Commit changes...が濃い緑になっている。2行の文章と、Commit changes...に赤い枠がついている
①貼り付けた、書き換える前の文章 ②濃い緑になった「Commit changes…」
1-6コミットして戻す目安 1分

「Commit changes…」を押して、説明の欄に「あいさつを元に戻す」と入れ、「Commit changes」を押します。

Commit changesの窓。Commit messageの欄に、あいさつを元に戻すと入っている。説明の欄と、Commit changesのボタンに赤い枠がついている
①「元に戻す」と分かる説明 ②「Commit changes」

ファイルのページに戻ります。上の行が「あいさつを元に戻す」になり、中身は、書き換える前の文章です。

hello.txtのファイルのページ。上の行にあいさつを元に戻すと出ている。内容はHello, GitHub!とこれは、練習用のファイルです。コミットの説明と、2行の文章に赤い枠がついている
①最新のコミットが「あいさつを元に戻す」になった ②中身が戻った
1-7履歴で確かめる目安 2分

もう一度「History」を押すと、コミットが3つになっています。いちばん上に「あいさつを元に戻す」が増えました。「あいさつを書き換え」も、「練習用のファイルを追加」も、そのまま残っています。

hello.txtの履歴。上から、あいさつを元に戻す、あいさつを書き換え、練習用のファイルを追加の3つのコミットが並ぶ。いちばん上のコミットに赤い枠がついている
①増えた「あいさつを元に戻す」

いちばん上のコミットを開くと、変わった内容が、赤い行と緑の行で出ます。赤い行(先頭に「-」)が、書き換えた文章です。緑の行(先頭に「+」)が、戻した文章です。

戻したコミットの画面。コミットの説明はあいさつを元に戻す。1 parentと出ている。hello.txtの変更が、赤い2行(こんにちは、GitHub!とこれは、書き換えたファイルです。)と、緑の2行(Hello, GitHub!とこれは、練習用のファイルです。)で表示されている。変更の表示と、説明に赤い枠がついている
①赤い行(書き換えた文章)と緑の行(戻した文章) ②コミットの説明

段階1で、書き換えたファイルを前の内容に戻せました。戻した操作も、新しいコミットとして残ります。次は、消したファイルを戻します。

段階2 消したファイルを戻す

ファイルを消しても、消す前のコミットには、中身が残っています。段階1と同じ考え方で、消す前の状態を開き、中身をコピーして、同じ名前のファイルを作り直します。練習用に、「note.txt」を作って、消して、戻します。

段階2と段階3の画像について

段階2と段階3の画像は、「secret-test」を非公開に切り替えたあとに撮影しました。リポジトリ名の横に「Private」の印と鍵の印が付いています。この記事の準備と段階1を終えたばかりのリポジトリとは、次の点が違います。コミットの数(画像は15から始まります)、ブランチの数、ファイルの一覧にある「memo.txt」、プルリクエストの番号(画像は「#3」と「#4」)です。操作は、この記事のとおりに進めて大丈夫です。数字だけは、自分の画面のものを見てください。切り替え方は、公開と非公開を切り替える方法で、画面つきで説明しています。

2-1練習用のファイルを作る目安 4分

リポジトリのトップで「Code」の左の「+」を押します。

非公開のリポジトリsecret-testのトップ。リポジトリ名の横にPrivateの印がある。ファイルの一覧にREADME.mdとhello.txtがあり、コミットの数は15 Commits。Codeの緑のボタンの左の+のボタンに赤い枠がついている
①「+」のボタン

「Create new file」を選びます。

+のボタンを押したメニュー。Create new fileとUpload filesの2つがある。Create new fileに赤い枠がついている
①「Create new file」

ファイル名の欄が開きます。

新しいファイルを作る画面。secret-test /の右に、Name your file...というファイル名の欄がある。下に、Enter file contents hereと出た入力欄がある。ファイル名の欄に赤い枠がついている
①ファイル名の欄

ファイル名に「note.txt」、中身に「これは、あとで消すメモです。」を入れます。

新しいファイルを作る画面。ファイル名の欄にnote.txt、入力欄にこれは、あとで消すメモです。と入っている。右上のCommit changes...が濃い緑になっている。ファイル名の欄と、入力欄の文章に赤い枠がついている
①ファイル名 ②中身

「Commit changes…」を押すと、コミットの窓が開きます。説明の欄には、「Add temporary note in note.txt」という候補が入っています。

Commit changesの窓。Commit messageの欄にAdd temporary note in note.txtと入っている。説明の欄と、Commit changesのボタンに赤い枠がついている
①コミットの説明の欄 ②「Commit changes」

「メモを追加」と書き換えて「Commit changes」を押します。

Commit changesの窓。Commit messageの欄にメモを追加と入っている。説明の欄と、Commit changesのボタンに赤い枠がついている
①書き換えた説明 ②「Commit changes」

トップの一覧に「note.txt」が増え、コミットの数が「16 Commits」になりました。

リポジトリのトップ。ファイルの一覧にREADME.md、hello.txt、memo.txt、note.txtが並び、note.txtの行にメモを追加と出ている。コミットの数は16 Commits。note.txtの行に赤い枠がついている
①追加された「note.txt」
2-2ファイルを消す目安 3分

ファイルの一覧の「note.txt」の名前を押して開きます。右上の「…」を押します。

note.txtのファイルのページ。内容はこれは、あとで消すメモです。右上に...のボタンがある。...のボタンに赤い枠がついている
①「…」のボタン

メニューの一番下の「Delete file」(ファイルを削除)を押します。

...のメニュー。Download、Jump to line、Copy path、Copy permalink、Ask about this file、表示の設定が並び、一番下に赤い字のDelete fileがある。Delete fileに赤い枠がついている
①「Delete file」

「This file was deleted.」(このファイルは削除されました)と出ます。右上の「Commit changes…」を押します。

削除の画面。note.txtについて、This file was deleted.と出ている。右上に緑のCommit changes...のボタンがある。Commit changes...に赤い枠がついている
①「Commit changes…」

説明の欄に「メモを削除」と入っていることを確かめて、「Commit changes」を押します。

Commit changesの窓。Commit messageの欄にメモを削除と入っている。Commit changesのボタンに赤い枠がついている
①「Commit changes」

トップの一覧から、「note.txt」が消えました。コミットの数は「17 Commits」です。

リポジトリのトップ。ファイルの一覧にはREADME.md、hello.txt、memo.txtだけがある。最新のコミットはメモを削除で、コミットの数は17 Commits。ファイルの一覧に赤い枠がついている
①「note.txt」が一覧にない ②「17 Commits」
2-3消す前のコミットを開く目安 3分

トップの「17 Commits」(前の画像の②)を押して、リポジトリ全体の履歴を開きます。「メモを削除」の下に、「メモを追加」があります。これが、「note.txt」を作ったコミットです。開きます。

Commitsの画面。新しい順に、メモを削除、メモを追加、非公開であいさつを元に戻す、非公開であいさつを書き換え、Merge pull request、Revertなどのコミットが並ぶ。メモを追加に赤い枠がついている
①「メモを追加」

そのコミットの画面が開きます。「1 file changed」と出て、「note.txt」の中身が、緑の行(先頭に「+」)で出ています。右上の「Browse files」(ファイルを見る)を押します。

メモを追加のコミットの画面。コミットのIDは2a1915d。1 file changedと出て、note.txtの中身が緑の行で表示されている。右上にBrowse filesのボタンがある。Browse filesのボタンに赤い枠がついている
①「Browse files」

そのコミットの時点の、リポジトリのトップが開きます。左上のブランチの欄が、コミットのID(この例では「2a1915d」)になり、一覧に「note.txt」があります。

メモを追加のコミットの時点のリポジトリのトップ。ブランチの欄が2a1915dになっている。ファイルの一覧にREADME.md、hello.txt、memo.txt、note.txtが並ぶ。ブランチの欄に赤い枠がついている
①ブランチの欄がコミットのIDになった

「note.txt」を押すと、その時点の中身が出ます。段階1と同じく、「えんぴつ」はなく、「Raw」、コピー、ダウンロードのアイコンがあります。

note.txtの、コミット2a1915dの時点のページ。ブランチの欄が2a1915dになっている。内容はこれは、あとで消すメモです。右上にRaw、コピー、ダウンロードのアイコンがある。ブランチの欄と、コピーのアイコンに赤い枠がついている
①コミットのID ②コピーのアイコン
2-4中身をコピーして最新に戻る目安 3分

コピーのアイコンにマウスを近づけると、「Copy raw file」と出ます。押して、中身をコピーします。

note.txtの古い時点のページの右上。コピーのアイコンにマウスを近づけると、Copy raw fileという吹き出しが出ている。アイコンに赤い枠がついている
①「Copy raw file」

段階1では、「<」を押して最新に戻れました。ここでは、「note.txt」が最新の「main」にはもうないので、「<」にマウスを近づけると、「File does not exist on default branch」(デフォルトのブランチに、このファイルはありません)と出ます。

note.txtの古い時点のページ。左上の「<」のボタンにマウスを近づけると、File does not exist on default branchという吹き出しが出ている。ボタンに赤い枠がついている
①「File does not exist on default branch」

かわりに、ブランチの欄を押して、「Switch branches/tags」の一覧から、「main」(default)を選びます。

ブランチの欄を押した画面。Switch branches/tagsの窓に、Find or create a branch...の欄、BranchesとTagsのタブ、mainのdefaultが出ている。mainに赤い枠がついている
①「main」

「404 – page not found」と出ます。「The main branch of secret-test does not contain the path note.txt.」は、「mainブランチには、note.txtがありません」という意味です。消えていることの確認になります。緑の「Return to the repository overview」を押します。

404 - page not foundの画面。The main branch of secret-test does not contain the path note.txt.と出ている。緑のReturn to the repository overviewのボタンがある。説明の文と、ボタンに赤い枠がついている
①mainブランチに「note.txt」はない ②「Return to the repository overview」
2-5同じ名前でファイルを作り直す目安 3分

最新のリポジトリのトップに戻りました。ブランチの欄は「main」です。2-1と同じく、「+」を押して、「Create new file」を選びます。

+のボタンを押したメニュー。Create new fileとUpload filesの2つがある。Create new fileに赤い枠がついている
①「Create new file」

ファイル名の欄と入力欄が開く画面は2-1の画像(ファイル名の欄が空の画面)と同じです。

最新のリポジトリのトップ。ブランチの欄がmain。ファイルの一覧にREADME.mdとhello.txtとmemo.txtがある。コードの左の+のボタンに赤い枠がついている
①「+」のボタン

ファイル名の欄に、消したファイルと同じ名前「note.txt」を入れます。入力欄をクリックして、キーボードの「Ctrl」と「V」を同時に押して、貼り付けます。コピーした「これは、あとで消すメモです。」が入ります。

新しいファイルを作る画面。ファイル名の欄にnote.txt、入力欄にこれは、あとで消すメモです。と入っている。ファイル名と、入力欄の文章に赤い枠がついている
①消したファイルと同じ名前 ②貼り付けた中身

「Commit changes…」を押します。説明の欄には、またコミットの候補が入っています。

Commit changesの窓。Commit messageの欄にAdd temporary note in note.txtと入っている。説明の欄と、Commit changesのボタンに赤い枠がついている
①コミットの説明の欄 ②「Commit changes」

「削除したメモを元に戻す」と書き換えて「Commit changes」を押します。

Commit changesの窓。Commit messageの欄に、削除したメモを元に戻すと入っている。説明の欄と、Commit changesのボタンに赤い枠がついている
①書き換えた説明 ②「Commit changes」

トップの一覧に、「note.txt」が戻りました。コミットの数は「18 Commits」です。

リポジトリのトップ。最新のコミットは削除したメモを元に戻すで、コミットの数は18 Commits。ファイルの一覧のnote.txtの行に、赤い枠がついている
①戻った「note.txt」の行(説明は「削除したメモを元に戻す」)

段階2で、消したファイルを戻せました。段階1と同じく、戻す操作が、新しいコミットとして残ります。次は、ブランチとプルリクエストで入れた変更を、まとめて戻す方法です。

段階3 応用 マージしたプルリクエストをまとめて戻す

ここからは、応用です。ブランチとプルリクエストを使って入れた変更を、まとめて取り消す方法です。読み飛ばしても、段階1と段階2は使えます。先に、画面に出る言葉を、1つずつ説明します。

  • ブランチ: 「main」とは別に、変更を書き込む場所。コミットの窓で「Create a new branch for this commit and start a pull request」を選ぶと、新しいブランチができます
  • プルリクエスト: 変更を「main」に取り込んでよいか、確認する画面。画面には「wants to merge 1 commit into main from …」(このブランチの1つのコミットを、mainに取り込みたい)と出ます
  • マージ: 変更を「main」に取り込むこと
3-1ファイルを書き換える目安 3分

「hello.txt」を開いてえんぴつを押します。

hello.txtのファイルのページ。内容はHello, GitHub!とこれは、練習用のファイルです。右上の並びにえんぴつのボタンがある。えんぴつのボタンに赤い枠がついている
①えんぴつ(編集)

編集の画面が開きます。書き換える前は、右上の「Commit changes…」が薄い色です。

hello.txtの編集の画面。入力欄にHello, GitHub!とこれは、練習用のファイルです。の2行が入っている。入力欄に赤い枠がついている
①書き換える前の文章

1行目を「こんばんは、GitHub!」、2行目を「これは、ブランチで書き換えたファイルです。」に書き換えます。「Commit changes…」が濃い緑になるので、押します。

hello.txtの編集の画面。入力欄にこんばんは、GitHub!とこれは、ブランチで書き換えたファイルです。の2行が入っている。2行の文章と、Commit changes...に赤い枠がついている
①書き換えた文章 ②「Commit changes…」
3-2新しいブランチを選んで変更を提案する目安 3分

コミットの窓の説明の欄に、「あいさつを変更」と入れます。保存する場所は、段階1と段階2で選んでいた「Commit directly to the main branch」ではなく、下の「Create a new branch for this commit and start a pull request」を選びます。

Commit changesの窓。Commit messageの欄にあいさつを変更と入っている。Commit directly to the main branchが選ばれている。説明の欄と、Create a new branch for this commit and start a pull requestの選択肢に赤い枠がついている
①説明 ②「Create a new branch for this commit and start a pull request」

選ぶと、ブランチの名前の欄が出ます(画像では隠しています)。窓の題名が「Propose changes」(変更を提案する)に、ボタンの名前も「Propose changes」に変わります。押します。

Propose changesの窓。Commit messageの欄にあいさつを変更と入っている。Create a new branch for this commit and start a pull requestが選ばれ、下にブランチの名前の欄がある。ブランチの名前の欄と、Propose changesのボタンに赤い枠がついている
①新しいブランチの名前 ②「Propose changes」
3-3プルリクエストを作る目安 2分

「Open a pull request」(プルリクエストを開く)の画面になります。「Able to merge. These branches can be automatically merged.」(マージできます。ブランチは、自動で取り込めます)と出ます。題名の欄には、コミットの説明が入っています。緑の「Create pull request」を押します。

Open a pull requestの画面。base: mainと、compareのブランチの表示がある。Able to merge.と出ている。題名の欄にあいさつを変更と入っている。右下に緑のCreate pull requestのボタンがある。題名の欄と、Create pull requestのボタンに赤い枠がついている
①題名 ②「Create pull request」

この画面を下へ進めると、変更の中身が出ます。「Showing 1 changed file with 2 additions and 2 deletions.」は、「1つのファイルで、2行を足して、2行を消した」という意味です。赤い行が消える行、緑の行が足される行です。

Open a pull requestの画面を下へ進めたところ。1 commit、1 file changed、1 contributorと出ている。hello.txtの変更が、赤い2行(Hello, GitHub!とこれは、練習用のファイルです。)と、緑の2行(こんばんは、GitHub!とこれは、ブランチで書き換えたファイルです。)で表示されている。変更の表示に赤い枠がついている
①赤い行(消える文章)と緑の行(足される文章)
3-4マージする目安 2分

プルリクエストの画面(「#3」)が開きます。「Open」の印があり、「No conflicts with base branch」(ぶつかる変更はありません)と出て、緑の「Merge pull request」のボタンがあります。押します。

プルリクエストの画面。題名はあいさつを変更で、番号は#3。Openの印がある。No conflicts with base branchと出て、緑のMerge pull requestのボタンがある。Merge pull requestのボタンに赤い枠がついている
①「Merge pull request」

確認の欄が開きます。緑の「Confirm merge」を押します。

マージの確認の欄。Commit messageの欄、Extended descriptionの欄、緑のConfirm mergeのボタンがある。メールアドレスは隠している。Confirm mergeのボタンに赤い枠がついている
①「Confirm merge」
3-5「Revert」でまとめて戻す目安 5分

「Merged」の印に変わり、「merged commit … into main」の行の右に、「Revert」のボタンが出ます。これを押します。

マージしたプルリクエストの画面。Mergedの印があり、merged commit into mainの行の右にRevertのボタンがある。下にPull request successfully merged and closedと出ている。Revertのボタンに赤い枠がついている
①「Revert」

「Open a pull request」の画面が、もう一度開きます。題名は、「Revert “あいさつを変更”」で、はじめから入っています。緑の「Create pull request」を押します。

Open a pull requestの画面。題名の欄にRevert
①題名 ②「Create pull request」

下へ進めると、変更の中身が出ます。さきほどとは逆に、書き換えた2行が赤い行、書き換える前の2行が緑の行です。

Open a pull requestの画面を下へ進めたところ。hello.txtの変更が、赤い2行(こんばんは、GitHub!とこれは、ブランチで書き換えたファイルです。)と、緑の2行(Hello, GitHub!とこれは、練習用のファイルです。)で表示されている。変更の表示と、Create pull requestのボタンに赤い枠がついている
①赤い行(消える文章)と緑の行(戻る文章) ②「Create pull request」

できたプルリクエスト(「#4」)の説明は「Reverts #3」(#3を取り消す)です。さきほどと同じく、「Merge pull request」を押します。

プルリクエストの画面。題名はRevert あいさつを変更で、番号は#4。Openの印があり、説明はReverts #3。緑のMerge pull requestのボタンがある。Merge pull requestのボタンに赤い枠がついている
①「Merge pull request」

確認の欄が開くので「Confirm merge」を押します。

マージの確認の欄。Commit messageの欄、Extended descriptionの欄、緑のConfirm mergeのボタンがある。メールアドレスは隠している。Confirm mergeのボタンに赤い枠がついている
①「Confirm merge」

「Merged」の印に変わり、「Pull request successfully merged and closed」と出ます。

マージしたプルリクエストの画面。題名はRevert あいさつを変更で、番号は#4。Mergedの印がある。Pull request successfully merged and closedと出ている。その表示に赤い枠がついている
①マージが終わった
3-6戻ったか確かめる目安 2分

「hello.txt」を開くと、上の行は「Revert “あいさつを変更”」で、中身は、書き換える前の文章に戻っています。

hello.txtのファイルのページ。上の行にRevert あいさつを変更と出ている。内容はHello, GitHub!とこれは、練習用のファイルです。コミットの説明に赤い枠がついている
①「Revert」のコミット

リポジトリの履歴には、「Merge pull request #4」と「Revert “あいさつを変更”」が増えています。「Merge pull request #3」と「あいさつを変更」も、そのまま残っています。

Commitsの画面。新しい順に、Merge pull request #4、Revert あいさつを変更、Merge pull request #3、あいさつを変更、削除したメモを元に戻す、メモを削除、メモを追加、非公開であいさつを元に戻す、非公開であいさつを書き換えが並ぶ。Revert あいさつを変更に赤い枠がついている
①増えた「Revert」のコミット

段階3で、マージしたプルリクエストを、「Revert」でまとめて戻せました。「Revert」も、新しいコミットとプルリクエストを作るだけで、履歴は消えません。

つまずいたとき

古いバージョンの画面にえんぴつのボタンがない

古いバージョンの画面は、見るだけです。ブランチの欄が、コミットのIDになっているときは、古い時点を見ています。「<」を押して、最新の「main」に戻ってから、えんぴつで編集します。

消したファイルのページで「<」が使えない

最新の「main」に、そのファイルがないためです。ブランチの欄を押して、「main」を選びます。「404」の画面が出たら、「Return to the repository overview」を押します(段階2のステップ2-4)。

戻したい内容がどのコミットか分からない

ファイルの履歴で、コミットの説明を押すと、そのコミットで何が変わったかが、赤い行と緑の行で見られます。赤い行が消えた内容、緑の行が足した内容です。

よくある質問

戻したら書き換えた記録は消えますか

消えません。段階1の履歴で、「あいさつを書き換え」が残り、戻した操作は「あいさつを元に戻す」という新しいコミットになりました。

非公開のリポジトリでも同じ手順で戻せますか

戻せます。段階2と段階3は、非公開に切り替えたリポジトリで操作して、最後まで戻せました。公開のときと並べて見比べてはいませんが、操作に使ったボタンと手順は、段階1と同じでした。

「Revert」のボタンはファイルにも使えますか

この記事で開いたファイルのページには、「Revert」のボタンは出ていませんでした。「Revert」のボタンが出たのは、マージしたプルリクエストの画面です(段階3)。

戻す前の状態をあとからもう一度開けますか

開けます。戻したあとも、履歴には、書き換えたコミットが残っています。そのコミットの書類の形のアイコンから、その時点のファイルを、もう一度見られます。

次に知りたいこと

タイトルとURLをコピーしました