Gitチュートリアル


Gitと{{title}}


Gitの貢献


Git Advanced


Git Undo




Git Revert


Git Revert

revertは、前のコマンドを取得しcommitて新しいコマンドとして追加するときに使用するコマンドでありcommitlogそのまま保持します。

ステップ1:前のものを見つけるcommit

GitRevertステップ1

ステップ2:それを使用して新しいものを作成しますcommit

GitRevertステップ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 Find Commit in Log

まず、戻りたいポイントを見つける必要があります。そのためには、を通過する必要があり logます。

非常に長いログリストを回避するために、このオプションを使用し --onelineます。このオプションでは、コミットごとに1行だけが表示されます。

  • の最初の7文字commit hash
  • thecommit 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/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以前の: に戻したいのですが52418f7 (HEAD -> master) Just a regular update, definitely no accidents here...、これが最新であることがわかりますcommit



Git RevertHEAD

We revert the latest commit using git revert HEAD (revert the latest change,  and then commit), adding the option --no-edit to skip the commit message editor (getting the default revert message):

Example

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

Now let's check the log again:

Example

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!

Note: To revert to earlier commits, use git revert HEAD~x (x being a number. 1 going back one more, 2 going back two more, etc.)

On the next page, we'll go over git reset, which brings the repository back to an earlier state in the commits without making a new commit.


Test Yourself With Exercises

Exercise:

Show the log of the repository, showing just 1 line per commit:

git