freeCodeCamp/guide/russian/miscellaneous/when-to-undoredo/index.md

47 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: When to Undoredo
localeTitle: Когда до Undoredo
---
Обычно вы хотите использовать UNDO / REDO, когда вы совершаете некоторые изменения в git, и понимаете, что изменения необходимо удалить / вернуть. Это очень распространено в сценариях, например, когда вы делали временные изменения в некоторых файлах и забывали их вернуть, а затем приступили к их добавлению к ошибке.
## Рабочий процесс UNDO / REDO:
Предполагая, что вы внесли некоторые изменения и совершили такие действия, как:
```
git commit -m "Commit 1 - Some changes to the code"
git commit -m "Commit 2 - Some MORE changes to the code"
```
1. (UNDO-ing): вернуть обратно последнюю команду `git reset --soft HEAD~`
2. _Сделайте изменения._
3. Добавьте свои файлы в промежуточную область `git add <filenames or paths>` или `git add --all`
4. (REDO-ing): выполнить фиксацию. `git commit -c ORIG_HEAD` или `git commit -C ORIG_HEAD`
## Как это работает?
Теперь, когда вы знаете, что поток позволяет понять, как это работает за кулисами.
1. `Step 1` сбрасывает последнюю фиксацию, т.е. `"Commit 2 - Some MORE..."` обратно в фиксацию `"Commit 1 - Some..."` .
2. На `Step 2` вы делаете изменения, которые вы сочтете подходящими для файлов.
3. На `Step 3` вы добавляете измененные файлы в промежуточную область либо выборочно с `git add <filenames>` либо все файлы с `git add --all` .
4. На последнем этапе вы совершаете изменения в промежуточной области.
Примечание: вы можете использовать `-c` или `-C` . Маленький `-c` откроет редактор для модификации сообщения фиксации, в этом случае это будет `Commit 2 - Some MORE...` Вы можете редактировать сообщение фиксации так, как хотите.
Или, альтернативно, вы можете использовать caps `-C` , где git пропускает окно редактора и повторно использует сообщение _LAST_ commit, которое в этом случае является `Commit 2 - Some MORE...`
Повторное использование сообщения «То же» фиксации также известно как повторное / повторное выполнение.
## Неэксплуатация перед фиксацией
Чтобы отменить изменение, поставленное перед фиксацией, просто запустите `git reset <file>` или `git reset` чтобы отключить все изменения до фиксации.
Примечание. В более старых версиях git команды были `git reset HEAD <file>` и `git reset HEAD` соответственно. Это было изменено в Git 1.8.2
## Некоторые дополнительные трюки:
Вы можете возвратить любое количество `git reset --soft HEAD~n` используя `git reset --soft HEAD~n` где вы хотите отменить последние `n` коммитов.
## Attribution:
Эта статья основана на вопросе переполнения стека [здесь](http://stackoverflow.com/questions/927358/how-do-you-undo-the-last-commit/927386#927386) и [здесь](http://stackoverflow.com/questions/348170/undo-git-add-before-commit/348234#348234) .