0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Git позволяет не только просматривать историю. Еще мы можем перемещаться по истории, загружая в рабочую директорию состояние кода на момент выполнения любого коммита. В этом уроке мы изучим, как перемещаться по истории с помощью команды git checkout.</p>
1
<p>Git позволяет не только просматривать историю. Еще мы можем перемещаться по истории, загружая в рабочую директорию состояние кода на момент выполнения любого коммита. В этом уроке мы изучим, как перемещаться по истории с помощью команды git checkout.</p>
2
<p>Для начала воспользуемся командой git log:</p>
2
<p>Для начала воспользуемся командой git log:</p>
3
<p>Переключимся на момент, когда был выполнен коммит с сообщением<em>add INFO.md</em>. Для этого используем команду git checkout <хеш коммита>:</p>
3
<p>Переключимся на момент, когда был выполнен коммит с сообщением<em>add INFO.md</em>. Для этого используем команду git checkout <хеш коммита>:</p>
4
<p>Выполните команду выше и изучите рабочую директорию. Обратите внимание, что хеш вашего коммита может отличаться. Вы увидите, что пропала часть изменений из-за возврата в прошлое. Сами изменения никуда не делись, и мы снова можем вернуться на последний коммит следующей командой:</p>
4
<p>Выполните команду выше и изучите рабочую директорию. Обратите внимание, что хеш вашего коммита может отличаться. Вы увидите, что пропала часть изменений из-за возврата в прошлое. Сами изменения никуда не делись, и мы снова можем вернуться на последний коммит следующей командой:</p>
5
<p>Переключившись в нужный коммит, можно не только изучить содержимое репозитория. Еще мы можем забрать какие-то изменения, которые были удалены, но снова понадобились для работы. Для этого достаточно их скопировать, переключиться на последний коммит и вставить в нужный файл.</p>
5
<p>Переключившись в нужный коммит, можно не только изучить содержимое репозитория. Еще мы можем забрать какие-то изменения, которые были удалены, но снова понадобились для работы. Для этого достаточно их скопировать, переключиться на последний коммит и вставить в нужный файл.</p>
6
<h2>Команда git branch</h2>
6
<h2>Команда git branch</h2>
7
<p>Переключение по коммитам отражается только на содержимом рабочей директории. Больше нигде не видно, где мы находимся. Из-за этого немало программистов забывают, где они находятся. Они начинают работать и очень удивляются, когда не получается выполнить коммит.</p>
7
<p>Переключение по коммитам отражается только на содержимом рабочей директории. Больше нигде не видно, где мы находимся. Из-за этого немало программистов забывают, где они находятся. Они начинают работать и очень удивляются, когда не получается выполнить коммит.</p>
8
<p>Самый простой способ узнать место нахождения - вызвать команду git branch. В обычной ситуации, когда мы находимся на последнем коммите, Git покажет такой вывод:</p>
8
<p>Самый простой способ узнать место нахождения - вызвать команду git branch. В обычной ситуации, когда мы находимся на последнем коммите, Git покажет такой вывод:</p>
9
<p>Но если прямо сейчас загружен коммит из прошлого, то вывод станет таким:</p>
9
<p>Но если прямо сейчас загружен коммит из прошлого, то вывод станет таким:</p>
10
<p>Такой способ проверки текущего местоположения требует постоянного внимания. Нужно не забывать его использовать. Конечно же, все забывают это делать, поэтому гораздо надежнее и удобнее вывести текущее местоположение прямо в командной строке. Например, так:</p>
10
<p>Такой способ проверки текущего местоположения требует постоянного внимания. Нужно не забывать его использовать. Конечно же, все забывают это делать, поэтому гораздо надежнее и удобнее вывести текущее местоположение прямо в командной строке. Например, так:</p>
11
<p>Именно так делают большинство профессиональных разработчиков. Как добиться такого вывода? Ответ на этот вопрос зависит от используемого командного интерпретатора:</p>
11
<p>Именно так делают большинство профессиональных разработчиков. Как добиться такого вывода? Ответ на этот вопрос зависит от используемого командного интерпретатора:</p>
12
<p>В Bash вывод местоположения происходит благодаря редактированию переменной окружения $PS1, подробнее об этом вы можете почитать по ссылке в дополнительных материалах.</p>
12
<p>В Bash вывод местоположения происходит благодаря редактированию переменной окружения $PS1, подробнее об этом вы можете почитать по ссылке в дополнительных материалах.</p>