HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Сейчас у нас есть репозиторий с двумя коммитами. Содержимое директории<em>hexlet-git</em>выглядит так:</p>
1 <p>Сейчас у нас есть репозиторий с двумя коммитами. Содержимое директории<em>hexlet-git</em>выглядит так:</p>
2 <p>Перед тем, как продолжить экспериментировать, добавим наш репозиторий на GitHub. В этом уроке мы познакомимся с этим сервисом и освоим самые базовые действия с ним.</p>
2 <p>Перед тем, как продолжить экспериментировать, добавим наш репозиторий на GitHub. В этом уроке мы познакомимся с этим сервисом и освоим самые базовые действия с ним.</p>
3 <h2>Как добавить репозиторий</h2>
3 <h2>Как добавить репозиторий</h2>
4 <p>Сохраненный репозиторий в любой момент можно извлечь и продолжить работу в нем с последнего добавленного коммита. Это пригодится, если мы случайно удалим или изменим локальный репозиторий так, что с ним станет невозможно работать.</p>
4 <p>Сохраненный репозиторий в любой момент можно извлечь и продолжить работу в нем с последнего добавленного коммита. Это пригодится, если мы случайно удалим или изменим локальный репозиторий так, что с ним станет невозможно работать.</p>
5 <p>Добавим наш репозиторий на GitHub:</p>
5 <p>Добавим наш репозиторий на GitHub:</p>
6 <ol><li><p>Зарегистрируйтесь на GitHub и создайте ssh-ключи по<a>инструкции</a>. SSH-ключи - это наиболее безопасный способ работы с GitHub, поэтому важно разобраться с ними</p>
6 <ol><li><p>Зарегистрируйтесь на GitHub и создайте ssh-ключи по<a>инструкции</a>. SSH-ключи - это наиболее безопасный способ работы с GitHub, поэтому важно разобраться с ними</p>
7 </li>
7 </li>
8 <li><p><a>Создайте репозиторий</a>на GitHub. Назовите его<em>hexlet-git</em>. Важно, чтобы репозиторий создавался пустым, поэтому не отмечайте галочки, добавляющие файлы</p>
8 <li><p><a>Создайте репозиторий</a>на GitHub. Назовите его<em>hexlet-git</em>. Важно, чтобы репозиторий создавался пустым, поэтому не отмечайте галочки, добавляющие файлы</p>
9 </li>
9 </li>
10 <li><p>На странице репозитория вы увидите готовые команды для подключения созданного репозитория на GitHub к уже существующему репозиторию у вас на компьютере:</p>
10 <li><p>На странице репозитория вы увидите готовые команды для подключения созданного репозитория на GitHub к уже существующему репозиторию у вас на компьютере:</p>
11 <p>Выполните эти шаги:</p>
11 <p>Выполните эти шаги:</p>
12 </li>
12 </li>
13 <li><p>Обновите страницу с репозиторием на GitHub. Изучите ее интерфейс и содержимое репозитория. Обратите внимание, что директория<em>.git</em>отсутствует. Почему это так, мы узнаем в одном из следующих уроков</p>
13 <li><p>Обновите страницу с репозиторием на GitHub. Изучите ее интерфейс и содержимое репозитория. Обратите внимание, что директория<em>.git</em>отсутствует. Почему это так, мы узнаем в одном из следующих уроков</p>
14 </li>
14 </li>
15 </ol><p>После этой команды репозиторий, созданный на github.com, "соединяется" с локальным репозиторием<em>hexlet-git</em>. Здесь может возникнуть вопрос: "Почему соединяется? Разве это не один и тот же репозиторий?".</p>
15 </ol><p>После этой команды репозиторий, созданный на github.com, "соединяется" с локальным репозиторием<em>hexlet-git</em>. Здесь может возникнуть вопрос: "Почему соединяется? Разве это не один и тот же репозиторий?".</p>
16 <p>На самом деле, это разные репозитории. Git - это<strong>распределенная система контроля версий</strong>. Это значит, что у Git нет какого-то центрального места, где лежит один главный репозиторий, а разработчики работают с ним со своих компьютеров.</p>
16 <p>На самом деле, это разные репозитории. Git - это<strong>распределенная система контроля версий</strong>. Это значит, что у Git нет какого-то центрального места, где лежит один главный репозиторий, а разработчики работают с ним со своих компьютеров.</p>
17 <p>Каждый репозиторий на GitHub и на компьютере у разработчика - это отдельные полноценные репозитории. Система Git связывает эти отдельные репозитории, объединяет их общей историей и добавляет возможность обмениваться изменениями:</p>
17 <p>Каждый репозиторий на GitHub и на компьютере у разработчика - это отдельные полноценные репозитории. Система Git связывает эти отдельные репозитории, объединяет их общей историей и добавляет возможность обмениваться изменениями:</p>
18 <p>В примере выше именно команда git push отправляет изменения во вновь созданный репозиторий.</p>
18 <p>В примере выше именно команда git push отправляет изменения во вновь созданный репозиторий.</p>
19 <p>Когда мы выполнили команды выше, локальный и удаленный репозиторий стали идентичны. Но в процессе работы они все время будут расходиться. Поэтому программисты должны не забывать<strong>синхронизировать изменения</strong>- заливать в репозиторий новые коммиты и забирать оттуда коммиты, сделанные другими разработчиками.</p>
19 <p>Когда мы выполнили команды выше, локальный и удаленный репозиторий стали идентичны. Но в процессе работы они все время будут расходиться. Поэтому программисты должны не забывать<strong>синхронизировать изменения</strong>- заливать в репозиторий новые коммиты и забирать оттуда коммиты, сделанные другими разработчиками.</p>
20 <p>Теперь не важно, какие изменения делаются в локальном репозитории. На GitHub все коммиты попадут только после команды git push, поэтому не забывайте делать ее. Бывает такое, что разработчик случайно удаляет локальный репозиторий, забыв<strong>запушить изменения</strong>- применить команду git push.</p>
20 <p>Теперь не важно, какие изменения делаются в локальном репозитории. На GitHub все коммиты попадут только после команды git push, поэтому не забывайте делать ее. Бывает такое, что разработчик случайно удаляет локальный репозиторий, забыв<strong>запушить изменения</strong>- применить команду git push.</p>
21 <p>Далее мы попробуем скачать репозиторий с GitHub так, как будто у нас нет локальной копии. Для этого удалите директорию проекта<em>hexlet-git</em>с вашего компьютера.</p>
21 <p>Далее мы попробуем скачать репозиторий с GitHub так, как будто у нас нет локальной копии. Для этого удалите директорию проекта<em>hexlet-git</em>с вашего компьютера.</p>
22 <h2>Как клонировать репозиторий</h2>
22 <h2>Как клонировать репозиторий</h2>
23 <p>Репозитории на GitHub делятся на публичные и приватные. Публичный репозиторий любой человек может клонировать себе на компьютер. После клонирования он начнет работать с ним как с личным.</p>
23 <p>Репозитории на GitHub делятся на публичные и приватные. Публичный репозиторий любой человек может клонировать себе на компьютер. После клонирования он начнет работать с ним как с личным.</p>
24 <p>Единственное ограничение - он не сможет запушить изменения, так как GitHub не дает напрямую менять чужие репозитории.</p>
24 <p>Единственное ограничение - он не сможет запушить изменения, так как GitHub не дает напрямую менять чужие репозитории.</p>
25 <p>Клонирование - базовая операция при работе с удаленными репозиториями. Проекты, над которыми работают программисты, всегда находятся в системах, подобных GitHub. Для работы с ними нужно клонировать репозиторий к себе на компьютер.</p>
25 <p>Клонирование - базовая операция при работе с удаленными репозиториями. Проекты, над которыми работают программисты, всегда находятся в системах, подобных GitHub. Для работы с ними нужно клонировать репозиторий к себе на компьютер.</p>
26 <p>Клонировать репозиторий можно с помощью команды git clone. Полную команду для клонирования можно получить на странице репозитория. Для этого нажмите большую кнопку Code, перейдите на вкладку SSH и скопируйте содержимое:</p>
26 <p>Клонировать репозиторий можно с помощью команды git clone. Полную команду для клонирования можно получить на странице репозитория. Для этого нажмите большую кнопку Code, перейдите на вкладку SSH и скопируйте содержимое:</p>
27 <p>Мы получили точную копию репозитория, который был у нас до удаления директории<em>hexlet-git</em>.</p>
27 <p>Мы получили точную копию репозитория, который был у нас до удаления директории<em>hexlet-git</em>.</p>
28 <h2>Как получить изменения с GitHub</h2>
28 <h2>Как получить изменения с GitHub</h2>
29 <p>Разработчики не только отправляют свои изменения на GitHub, но и забирают их оттуда. Чаще всего это изменения, сделанные другими разработчиками проекта, но необязательно. Бывает такое, что один разработчик работает над одним проектом с разных компьютеров, на каждом из которых своя собственная копия репозитория.</p>
29 <p>Разработчики не только отправляют свои изменения на GitHub, но и забирают их оттуда. Чаще всего это изменения, сделанные другими разработчиками проекта, но необязательно. Бывает такое, что один разработчик работает над одним проектом с разных компьютеров, на каждом из которых своя собственная копия репозитория.</p>
30 <p>В таком случае, перед началом работы нужно всегда выполнять команду git pull --rebase, которая скачивает из внешнего репозитория новые коммиты и добавляет их в локальный репозиторий.</p>
30 <p>В таком случае, перед началом работы нужно всегда выполнять команду git pull --rebase, которая скачивает из внешнего репозитория новые коммиты и добавляет их в локальный репозиторий.</p>
31 <p>Считается, что достаточно вызывать git pull, но это может приводить к созданию ненужных коммитов, из-за которых становится сложнее следить за историей изменений.</p>
31 <p>Считается, что достаточно вызывать git pull, но это может приводить к созданию ненужных коммитов, из-за которых становится сложнее следить за историей изменений.</p>
32 <p>Правильная работа с git pull требует знания таких вещей, как ветвление и git rebase. Они довольно сложны для новичков, поэтому мы рассмотрим их позже, когда появится хоть какой-то опыт работы с Git.</p>
32 <p>Правильная работа с git pull требует знания таких вещей, как ветвление и git rebase. Они довольно сложны для новичков, поэтому мы рассмотрим их позже, когда появится хоть какой-то опыт работы с Git.</p>
33 <h2>Выводы</h2>
33 <h2>Выводы</h2>
34 <p>Подведем некоторый итог. В этом уроке мы создали репозиторий с несколькими коммитами и добавили его на GitHub. Теперь его можно склонировать для дальнейшей разработки.</p>
34 <p>Подведем некоторый итог. В этом уроке мы создали репозиторий с несколькими коммитами и добавили его на GitHub. Теперь его можно склонировать для дальнейшей разработки.</p>
35 <p>Какую пользу из Git мы можем извлечь к текущему моменту? У нас есть запасная копия кода на сайте GitHub. Как минимум, нам нестрашно потерять код. Теперь его легко восстановить при случае, а еще им можно поделиться с другими.</p>
35 <p>Какую пользу из Git мы можем извлечь к текущему моменту? У нас есть запасная копия кода на сайте GitHub. Как минимум, нам нестрашно потерять код. Теперь его легко восстановить при случае, а еще им можно поделиться с другими.</p>
36 <p>Отдельно стоит сказать, что GitHub - это хоть и самая популярная, но не единственная площадка для хостинга репозиториев. Кроме него, особенно известны Bitbucket и GitLab. Последний можно даже поставить к себе на сервер и хостить репозитории внутри своей компании, что многие и делают по соображениям безопасности или экономии.</p>
36 <p>Отдельно стоит сказать, что GitHub - это хоть и самая популярная, но не единственная площадка для хостинга репозиториев. Кроме него, особенно известны Bitbucket и GitLab. Последний можно даже поставить к себе на сервер и хостить репозитории внутри своей компании, что многие и делают по соображениям безопасности или экономии.</p>