Git сброс
Git сброс
reset
это команда, которую мы используем, когда хотим переместить репозиторий обратно в предыдущий commit
, отбрасывая любые изменения, сделанные после этого commit
.
Шаг 1: Найдите предыдущее commit
:
Шаг 2: Верните репозиторий на этот шаг:
После предыдущей главы у нас есть часть нашей commit
истории, к которой мы могли бы вернуться. Давайте попробуем сделать это с помощью reset
.
Git Reset Найти коммит в журнале
Прежде всего, нам нужно найти точку, к которой мы хотим вернуться. Для этого нам нужно пройти через
log
.
Чтобы избежать очень длинного log
списка, мы будем использовать
--oneline
опцию, которая дает только одну строку на commit
показ:
- Первые семь символов
commit hash
- это то, на что нам нужно ссылаться в нашей команде сброса. - в
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) Added .gitignore
, последнему перед тем, как мы начали возиться с вещами.
Git сброс
We reset
our repository back to the specific commit using
git reset
commithash
(commithash
being
the first 7 characters of the commit hash we found in the
log
):
Example
git reset 9a9add8
Now let's check the log
again:
Example
git log --oneline
9a9add8 (HEAD -> master, 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!
Warning: Messing with the commit
history of a repository can be dangerous.
It is usually ok to make these kinds of changes to your own local repository. However, you should avoid making changes that rewrite history to
remote
repositories, especially if others are working with them.
Git Undo Reset
Even though the commits are no longer showing up in the
log
, it is not removed from Git.
If you know the commit hash you can reset
to it:
Example
git reset e56ba1f
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!