Git Reset
Git Reset
reset
リポジトリを以前のcommit
の状態に戻したいときに使用するコマンドです。、それ以降に行われたcommit
の変更は破棄されます。
ステップ1: 以前のcommit
を見つけます。:
ステップ2: リポジトリをそのステップに戻します。
前章の後、commit
履歴の一部に戻ることができた。reset
でそれをやってみよう。
Git Reset ログでコミットを見つける
まず最初に、戻りたいポイントを見つける必要があります。そのためには、log
を調べる必要があります。
非常に長いlog
リストを避けるために、--oneline
オプションを使用します。これにより、commit
ごとに1行だけが表示されます。
commit hash
の最初の7文字 - リセットコマンドで参照する必要があるものです。commit message
それでは、reset
したいポイントを見つけてみましょう:
例
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:9a9add8(origin/master)
に戻りたいと思っています。いじり始める前の最後の.gitignoreを追加しました。
Git Reset
git reset commithash
(commithashは、ログで見つけたコミットハッシュの最初の7文字)を使って、リポジトリを特定のコミットにリセットしました:
例
git reset 9a9add8
log
を確認してみましょう。:
例
git log --oneline
9a9add8 (HEAD -> master, origin/master) Added .gitignore
81912ba Corrected spelling error
3fdaa5b Merge pull request #1 from techis-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
履歴をいじるのは危険です。自分のローカルリポジトリにこのような変更を加えるのは、通常は問題ありません。しかし、特に他の人が作業している場合は、remote
リポジトリの履歴を書き換えるような変更は避けるべきです。
Git Undo Reset
commitがlog
に表示されなくなっても、Gitからは削除されません。
commithashを知っていればもう一度
reset
することができます。:
例
git reset e56ba1f
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!
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。