Исследование Notes --- мерзавец отменить изменения

Естественно, вы не будете делать ошибки. Но теперь в два часа ночи, вы должны поймать отчет работы, вы 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: Вы представили неправильные изменения в хранилище, вы хотите снять это представление, эталонную версию Откат один, но помещение не нажаты в удаленное хранилище.

рекомендация

отwww.cnblogs.com/saryli/p/11368003.html