Естественно, вы не будете делать ошибки. Но теперь в два часа ночи, вы должны поймать отчет работы, вы readme.txt
добавьте строку:
$ Кошка readme.txt Git это распределенная система контроля версий. Git является свободным программным обеспечением , распространяемым под лицензией GPL. Git имеет изменяемый индекс , называемый этапом. Git отслеживает изменения файлов. Мой глупый босс по- прежнему предпочитает SVN.
Прежде чем вы готовы представить чашку кофе играет роль, вы вдруг обнаружили , stupid boss
возможно , вы потеряете бонус в этом месяце!
Поскольку ошибки нашли очень своевременными, вы можете легко исправить. Вы можете удалить последнюю строку, вручную восстановить файл в версию государства. Если в git status
виде:
$ Статус мерзавец На мастер - ветви изменений не постановочных для совершения: (используйте «мерзавец добавить <файл> ...» , чтобы обновить то , что будет совершено) (используйте «Git Checkout - <файл> ...» , чтобы отменить изменения в рабочем каталог) изменено: не readme.txt не добавлено для фиксации изменений (использование «мерзавец добавить» и / или «мерзавец совершить -a»)
Вы можете найти, Git будет сказать вам, git checkout -- file
вы можете быть отброшены изменить рабочее пространство:
$ git checkout -- readme.txt
Команда git checkout -- readme.txt
означает , что, положить readme.txt
все документы отозваны изменить рабочее пространство, есть два случая:
Одним из них является readme.txt
из модификации не была помещена в области временного хранения, и теперь, назад и отменить изменения в хранилище точно так же состояние;
Одним из них является readme.txt
запись была добавлена к промежуточной области, была изменена и теперь возвращается , чтобы отменить изменения , добавленные в состояние после промежуточной области.
Короче говоря, это сделать файл обратно в последний git commit
или в git add
состоянии.
Теперь посмотрим на readme.txt
содержимое файла:
$ Кошка readme.txt Git это распределенная система контроля версий. Git является свободным программным обеспечением , распространяемым под лицензией GPL. Git имеет изменяемый индекс , называемый этапом. Git отслеживает изменения файлов.
Конечно же, содержимое файла восстановления.
git checkout -- file
Команда --
очень важно, не --
, это становится команда «Переключение на другую ветку,» мы будем позже встретиться в управлении филиалом git checkout
команд.
Теперь предположим , что это 3:00, вы не только писал какую - то чушь, но и git add
в промежуточной области:
$ Кошка readme.txt Git это распределенная система контроля версий. Git является свободным программным обеспечением , распространяемым под лицензией GPL. Git имеет изменяемый индекс , называемый этапом. Git отслеживает изменения файлов. Мой глупый босс по- прежнему предпочитает SVN. $ Мерзавец добавить readme.txt
К счастью, в commit
прежде, вы найдете эту проблему. С git status
взглядом, просто добавьте изменения в промежуточной области, до сих пор не представили:
$ Статус мерзавец На мастер - ветви изменений быть совершено: (используйте «мерзавец сбросить ГОЛОВУ <файл> ...» в убрать из буфера) модифицирована: readme.txt
Git также сказал нам , что команда git reset HEAD <file>
может изменить плацдарм от отзыва (убрать из буфера), обратно в рабочее пространство:
$ Сброса мерзавец ГОЛОВА readme.txt Unstaged изменения после сброса: M readme.txt
git reset
Команда может либо откат версии, также можно изменять временную зону , чтобы возвратиться к рабочей зоне. Когда мы используем HEAD
, это указывает на последнюю версию.
А потом git status
посмотрим, инсценировке область чистое рабочее пространство Edit:
$ Статус мерзавец На мастер - ветви изменений не постановочных для совершения: (используйте «мерзавец добавить <файл> ...» , чтобы обновить то , что будет совершено) (используйте «Git Checkout - <файл> ...» , чтобы отменить изменения в рабочем каталог) изменен: readme.txt
Помните, как он отбрасывается изменить рабочее пространство?
$ Мерзавец фотография - readme.txt статус $ мерзавца На ветке мастер ничего не совершал, работая дерево в чистоте
Весь мир, наконец, тихо!
Теперь предположим, что вы не только делаете ошибки в чем - то с нуля , также представленный в хранилище, как это сделать? Помните , что версия Откат делать? Вы можете возвратиться к предыдущей версии. Тем не менее, это условно, то есть, вы не должны толкать их собственный локальный репозиторий для пульта дистанционного управления. Помните Git это распределенная система контроля версий? Мы вернемся к удаленному хранилищу, как только вы stupid boss
представить толчок удаленного хранилища, вы действительно несчастны ......
резюме
Он пошел к итоговому времени.
Сценарий 1: При изменении содержимого файла хаотического рабочего пространство хочет прямое отбрасывание изменить рабочее пространство с помощью команды git checkout -- file
.
Сценарий 2: Когда вы меняете не только расстроить содержимое файла рабочей, также добавляется в тамбур, чтобы отменить изменения в два этапа, первый шаг команды git reset HEAD <file>
, вернулся на сцену 1, второй шаг по сцене 1 операция.
Сценарий 3: Вы представили неправильные изменения в хранилище, вы хотите снять это представление, эталонную версию Откат один, но помещение не нажаты в удаленное хранилище.