Предыдущий ролик Следующий ролик  

Видео урок: Клонирование удаленного бранча

Git: обучение основам

Мы смогли успешно создать удаленный GitHub репозиторий и настроить наш локальный репозиторий таким образом, так чтобы мы могли отправлять все локальные коммиты на удаленный. А теперь я хочу, чтобы мы переключились и сделали полную противоположность этому. Вместо того, чтобы взять локальный репозиторий и отправить его на удаленный, я хочу сделать обратное. Как мы можем зайти в удаленный репозиторий и сделать его локальную копию, с которой мы затем можем работать? Предполагается, что на данный момент у нас нет локальной копии. Такие обстоятельства могут возникнуть, если кто-то говорит: "Друзья, присоединяйтесь и поработайте со мной над проектом.

Я отправил код на GitHub, тоже заходите сюда, скачайте копию, и мы можем начать совместную работу". Или, если же вы хотите работать над проектом с открытым исходным кодом, такое тоже может случиться. Вы находите такой проект, получаете копию, чтобы перенести ее на локальную машину, а затем смело начинаете разработку. Способ, которым мы будем симулировать это на одном компьютере, заключается в том, что мы выйдем из директории Explore California. Перехожу к cd.., иду в директорию, и в этой директории есть explore_california. Я просто это игнорирую. Давайте представим, что на данный момент этого просто нет.

Допустим, я новый пользователь, у меня установлен Git, но на моем компьютере нет Git проекта. Теперь я перехожу на GitHub и выясняю, какой проект мне нужен. Здесь можно поискать, вы нажимаете на ссылку Explore и видите разные проекты с открытым исходным кодом, или же можно остановиться на этом веб сайте Explore California и сказать - да, я буду работать над этим проектом. Независимо от того, как вы выбираете проект, вам нужно знать, как переместить его на локальную машину. И GitHub вот здесь дает вам нужную информацию. Вам это нужно знать. Сначала нужно скопировать все необходимое, чтобы затем вставить.

Это путь к репозиторию. Это тот же путь, который мы сконфигурировали в нашей папке Explore California, когда настраивали удаленный бранч. Это способ, которым мы обращаемся к репозиторию. Заходим в командную строку, обратите внимание, что на данный момент я не нахожусь ни в каком Git проекте, здесь пустая папка. Я прописываю git clone, а затем вставляю этот путь. То есть, я клонирую этот удаленный репозиторий, и Git обычно говорит сделать его локальной копией на компьютере.

А затем Git создает новую директорию, и эта директория по умолчанию будет носить такое имя explore_california, а не .git. Итак, по умолчанию explore_california. Теперь, конечно, у меня уже есть папка Explore California, поэтому если я попробую так сделать, Git скажет - извините, она уже существует. Но это не проблема. Мы можем с легкостью дать папке любое имя. Имя директории не имеет ничего общего с именем репозитория. Так что давайте дадим ей другое имя. Допустим, я работаю над этим проектом с Линдой, поэтому я называю ее lynda_version.

То есть, это версия репозитория Линды. Видите, когда я это делаю, Git подсчитывает объекты и сжимает их, и я получаю их локально. Если я пропишу ls -la, вы видите, что эта новая папка существует, lynda_version. Давайте зайдем в нее, видите, здесь весь мой проект. Git скачал файлы и папки из GitHub в мой локальный репозиторий. Теперь пишем git branch, вы видите, что у нас нет всех бранчей, которые были в нашей собственной версии, в версии explore_california, вместо этого у нас есть только основной бранч, потому что это все, что существует в удаленном хранилище.

Другие бранчи, которые никогда туда не были отправлены, остаются закрытыми, пока мы их не отправим и не сделаем открытыми. Если бы здесь имелось несколько бранчей, Git по умолчанию все равно скачал бы основной бранч. Вы можете указать опцию -b и сказать Git, какой бранч вам нужен, если вы хотите получить другой, но бранчем по умолчанию будет тот, что есть в GitHub, и кстати, вы можете сделать настройку того, какой бранч является бранчем по умолчанию в GitHub, в панели управления администратора в GitHub. Итак, мы успешно клонировали проект на компьютер. На компьютере теперь есть два репозитория.

И я считаю, что мы должны иметь возможность переключаться между ними, как если бы мы переходили с одного компьютера на другой. Они существуют на одном компьютере, но это два разных Git репозитория. Один из них - это наша версия, а второй - версия Линды, и Линда - это тот человек, который будет работать с нами над этим проектом. Мы можем делать коммиты, отправлять их в удаленное хранилище, а затем мы можем переключиться на репозиторий Линды и посмотреть, как там все выглядит. Она тоже может вносить изменения, отправлять их в репозиторий, а мы можем переключиться на нашу версию, чтобы посмотреть, как проект выглядит с нашей стороны и как он мог бы выглядеть.

Таким образом, это не два разных человек, которые работают на двух разных компьютерах, это два разных Git репозитория, и в каждом содержится свой собственный уникальный набор информации.