TECH I.S.

Git Revert


プラットフォームを変更します:

Shift focus to GitHubGitHubShift focus to BitbucketBitbucketShift focus to GitLabGitLab




Git Revert




revertは、以前のcimmitlogを保持したまま新しいcommitとして追加するときに使用するコマンドです。

ステップ 1: 前のcommitを見つける:
Git Revert Step 1
ステップ 2: それを使って新しいcommitを作成する:
Git Revert Step 2
ファイルを「誤って」削除してしまった場合、新しいcommitを作成してみましょう。

git commit -m "Just a regular update, definitely no accidents here..."
[master 16a6f19] Just a regular update, definitely no accidents here...
 1 file changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 img_hello_git.jpg
commit履歴の一部に戻りたい箇所がある。revertを使ってそれをやってみよう。

Git Revert logからcommitを探す


まず最初に、戻りたいポイントを見つける必要があります。そのためには、logを調べる必要があります。
非常に長いlogリストを避けるために、--onelineを使用します。このオプションでは、コミットごとに1行だけが表示されます。

  • commit hashの最初の7文字
  • commit message

それでは、revertしたいポイントを探しましょう:

git log --oneline
52418f7 (HEAD -> master) Just a regular update, definitely no accidents here...
9a9add8 (origin/master) Added .gitignore
81912ba Corrected spelling error
3fdaa5b Merge pull request #1 from w3schools-test/update-readme
836e5bf (origin/update-readme, update-readme) Updated readme for GitHub Branches
daf4f7c (origin/html-skeleton, html-skeleton) Updated index.html with basic meta
facaeae (gh-page/master) Merge branch 'master' of https://github.com/techis-test/hello-world
e7de78f Updated index.html. Resized image
5a04b6f Updated README.md with a line about focus
d29d69f Updated README.md with a line about GitHub
e0b6038 merged with hello-world-images after fixing conflicts
1f1584e added new image
dfa79db updated index.html with emergency fix
0312c55 Added image to Hello World
09f4acd Updated index.html with a new line
221ec6e First release of Hello World!
以前に戻したいcommit:52418f7 (HEAD -> master) Just a regular update, definitely no accidents here...、それが最新のcommitであることがわかります。

Git Revert HEAD


git revert HEAD(最新の変更をrevertしてからcommitする)を使用して最新のcommitrevertします。コミットメッセージエディタをスキップする(デフォルトのrevertメッセージを取得する)オプション--no-editを追加します:

git revert HEAD --no-edit
[master e56ba1f] Revert "Just a regular update, definitely no accidents here..."
 Date: Thu Apr 22 10:50:13 2021 +0200
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 img_hello_git.jpg
もう一度logを確認してみましょう:

git log --oneline
e56ba1f (HEAD -> master) Revert "Just a regular update, definitely no accidents here..."
52418f7 Just a regular update, definitely no accidents here...
9a9add8 (origin/master) Added .gitignore
81912ba Corrected spelling error
3fdaa5b Merge pull request #1 from w3schools-test/update-readme
836e5bf (origin/update-readme, update-readme) Updated readme for GitHub Branches
daf4f7c (origin/html-skeleton, html-skeleton) Updated index.html with basic meta
facaeae (gh-page/master) Merge branch 'master' of https://github.com/w3schools-test/hello-world
e7de78f Updated index.html. Resized image
5a04b6f Updated README.md with a line about focus
d29d69f Updated README.md with a line about GitHub
e0b6038 merged with hello-world-images after fixing conflicts
1f1584e added new image
dfa79db updated index.html with emergency fix
0312c55 Added image to Hello World
09f4acd Updated index.html with a new line
221ec6e First release of Hello World!
注:以前のcommitに戻すには、次を使用しますgit revert HEAD~x(xは、数字であること。1はもう1つ戻り、2はさらに2つ戻ります。など)
次のページで新しいcommitを作成せずにリポジトリをcommit内の以前の状態に戻すgit restartについて説明します。

プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細