Как установить репозиторий с github windows

Обновлено: 05.07.2024

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

Чтобы приступить к работе с документацией, необходимо однократно выполнить следующие действия:

  • определить соответствующий репозиторий;
  • создать вилку репозитория Git в учетной записи GitHub;
  • выбрать локальную папку для клонированных файлов;
  • клонировать репозиторий на локальный компьютер;
  • настроить значение вышестоящего удаленного источника.

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

Общие сведения

Для участия в разработке документации на сайте Майкрософт вы можете локально создавать и редактировать файлы Markdown, клонировав соответствующий репозиторий документации. Чтобы получить разрешения Майкрософт на чтение и запись для соответствующего репозитория, нужно создать его вилку в учетной записи GitHub. Это позволит сохранять предлагаемые изменения. Затем изменения объединяются в центральном общем репозитории, доступном только для чтения, с помощью запросов на вытягивание.

Треугольник GitHub

Если вы раньше не работали с GitHub, посмотрите следующее видео, где представлен концептуальный обзор процесса создания вилок и клонирования репозиториев:

Определение репозитория

Щелкните "Правка", чтобы определить расположение репозитория и файлов.

URL-адрес, по которому можно определить расположение репозитория

Например, для участия в создании документации можно использовать следующие популярные репозитории:

Создание вилки репозитория

Используя соответствующий репозиторий, создайте его вилку в своей учетной записи GitHub на сайте GitHub.

Перейдите в GitHub на страницу главного репозитория, а затем нажмите кнопку Fork (Создать вилку) вверху справа.

Пример профиля GitHub

Если будет предложено, выберите плитку своей учетной записи GitHub в качестве расположения для создаваемой вилки. После этого в вашей учетной записи GitHub будет создана копия репозитория, называемая вилкой.

Выбор локальной папки

Создайте локальную папку для локального хранения копии репозитория. Размер некоторых репозиториев может быть значительным, например до 5 ГБ для azure-docs. Выберите расположение с доступным местом на диске.

Выберите имя папки — оно должно быть простым для запоминания и ввода. Например, можно использовать корневую папку C:\docs\ или создать папку в каталоге профиля пользователя

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

Запустите Git Bash

Запустите Git Bash

Расположением по умолчанию, в котором обычно запускается Git Bash, является домашний каталог (

) или /c/users/<Windows-user-account>/ в ОС Windows.

Чтобы определить текущий каталог, ведите pwd в запросе $.

Преобразуйте каталог (cd) в папку, созданную для локального размещения репозитория. Обратите внимание, что Git Bash поддерживает соглашение Linux по использованию в путях к папкам прямых, а не обратных косых черт.

Например, cd /c/docs/ или cd

Создание локального клона

С помощью Git Bash подготовьтесь выполнить команду клонирования для вытягивания копии репозитории (вашей вилки) в текущий каталог на устройстве.

Проверка подлинности с использованием Git Credential Manager

Если вы установили последнюю версию Git для Windows и согласились на установку по умолчанию, будет по умолчанию активирован диспетчер учетных данных Git Credential Manager. Git Credential Manager упрощает проверку подлинности, избавляя от необходимости отзывать личный маркер доступа при повторной установке подключений с проверкой подлинности и удаленных подключений с GitHub.

Выполните команду клонирования, указав имя репозитория. Во время клонирования разветвленный репозиторий скачивается (клонируется) на локальный компьютер.

Чтобы получить URL-адрес своей вилки GitHub для команды клонирования, нажмите кнопку Clone or download (Клонировать или скачать) в пользовательском интерфейсе GitHub:

"Clone or download" (Клонировать или скачать)

Команда клонирования должна выглядеть приблизительно следующим образом.

При появлении запроса введите учетные данные GitHub.

GitHub: вход в систему

При появлении запроса введите код двухфакторной проверки подлинности.

GitHub: двухфакторная проверка подлинности

Ваши учетные данные будут сохранены для проверки подлинности последующих запросов GitHub. Проверка подлинности выполняется на каждом компьютере один раз.

Запущенная команда клонирования скачивает копию файлов репозитория из вашей вилки в новую папку на локальном диске. Новая папка создается в текущей папке. В зависимости от размера репозитория этот процесс может занять несколько минут. По его окончании вы можете открыть папку, чтобы просмотреть ее структуру.

Настройка удаленного вышестоящего подключения

После клонирования репозитория следует установить удаленное подключение только для чтения, называемое вышестоящим, к основному репозиторию. С помощью URL-адреса вышестоящего подключения вы сможете обеспечить синхронизацию вашего локального репозитория с последними правками, внесенными другими участниками. Команда git remote служит для задания значения конфигурации. С помощью команды принесения можно обновить сведения о ветви из вышестоящего репозитория.

Если вы используете Git Credential Manager, выполните следующие команды. Замените заполнители <repo> и <organization> .

Просмотрите настроенные значения и проверьте правильность URL-адресов. Убедитесь, что URL-адреса исходного подключения ведут к вашей персональной вилке. Убедитесь, что URL-адреса вышестоящего подключения ведут к основному репозиторию, например MicrosoftDocs или Azure.

Далее приводится пример выходных данных для подключения к удаленному репозиторию. Здесь вымышленная учетная запись Git с именем MyGitAccount настраивается с личным маркером доступа для обращения к репозиторию azure-docs.

Если вы допустили ошибку, значение удаленного подключения можно очистить. Чтобы удалить значение вышестоящего подключения, выполните команду git remote remove upstream .

Самая короткая инструкция о том, как сохранить файлы в GitHub и ничего не сломать. И самое главное — никакой консоли, всё через окошки и с помощью мышки. Для этого используем GitHub Desktop.

Внимание! GitHub Desktop не работает на Windows 7 x32, поэтому если у вас эта версия системы, обновитесь до Windows 10 или воспользуйтесь программой GitKraken на свой страх и риск.

В этой статье идёт рассказ о системах контроля версий. Если вы совсем ничего о них не знаете, прочитайте статьи «Словарь терминов для Git и GitHub» и «Введение в системы контроля версий», чтобы понять терминологию и разобраться, зачем мы вообще это делаем.

Если у вас ещё нет аккаунта на GitHub, то о его создании есть отдельная статья в блоге Академии.

Создание репозитория

Если вы никогда не пользовались гитхабом, нужно будет создать репозиторий для работы над проектом.

На главном экране GitHub Desktop выбираем пункт «Create a New Repository on your hard drive».

Альт

Нужно будет ввести название репозитория, его описание и выбрать папку на компьютере, куда будут сохраняться файлы.

Альт

После этого нажимаем на Create repository, ждём несколько секунд и готово — на компьютере появилась папка, которой можно пользоваться для разработки вашего проекта.

Клонирование репозитория

Если у вас уже какой-нибудь репозиторий на Гитхабе, его можно клонировать. Клонировать — это скачать все файлы к себе на компьютер, чтобы можно было их изменять и потом загружать обратно.

Выбираем Add -> Clone Repository…

Альт

В открывшемся окне выбираем один из имеющихся репозиториев. В данном случае он называется zaverstai, но у вас может быть любой другой.

Альт

После этого файлы репозитория начнут скачиваться — если их много, то это займет некоторое время.

Альт

Работа с репозиторием. Меняем файлы и сохраняем обратно

Вне зависимости от того, создали вы репозиторий или клонировали его, так выглядит GitHub Desktop с открытым репозиторием, в котором мы пока ничего не меняли.

Альт

Слева — поле для измененных файлов, справа — служебная информация. Слева снизу — поле для коммитов.

Если не усложнять, то склонированный репозиторий это просто каталог на компьютере. Можно нажать «Show in Finder» на Mac или «Show in Explorer» в Windows и откроется папка, где лежат все файлы, которые есть в репозитории.

Альт

Давайте добавим какой-нибудь файл. Например, я добавил в локальный репозиторий (скопировал в папку) файл index.html, который взял отсюда. Вы можете загрузить файл с кодом вашего проекта или изменить уже существующий.

Сразу после добавления или изменения файла в окне GitHub Desktop будет видно, что изменилось — если мы добавили целый новый файл, то все строчки будут с плюсиками и зелёные. Это значит, что они были добавлены в файл и GitHub Desktop раньше их никогда не видел.

Альт

Загружаем новый репозиторий на GitHub

Если вы не создавали новый репозиторий, а склонировали старый, то можете пропустить этот пункт.

После того, как мы добавили какой-то код в свежесозданный репозиторий, нужно сделать коммит, то есть зафиксировать все сохранённые изменения и дать им название. Текст должен быть лаконичным и в то же время сообщать о том, что делает коммит. Например, «добавляет имя наставника в Readme», «вводит функцию сортировки изображений», «правит ошибку в поиске городов на карте». Вводим имя жмём большую синюю кнопку «Commit to main»

Альт

Изменения, которые мы внесли и сохранили, пока локальны. Их нужно послать на GitHub. Чтобы опубликовать свежесозданный репозиторий на GitHub, нажмите Publish repository.

Альт

Появится подтверждение о публикации репозитория — проверяем название и описание, если нужно, ставим галочку о том, что код приватный, и публикуем.

Альт

Добавляем код и коммитим изменения

Репозиторий создан и загружен на GitHub, теперь нужно добавить немного кода.

Когда вы допишете код в файлы, которые находятся в репозитории, вы сможете просмотреть все их изменения в окне GitHub Desktop. Вот здесь, например, мы изменили «второй» на «третий» в тексте страницы — и изменения сразу видны, можно проверить, что всё исправленное будет загружено.

Альт

Дальше действуем по проверенной схеме — коммитим изменения.

Альт

В центре главного экрана появится предложение запушить коммит в удалённый репозиторий. Соглашаемся и жмём Push origin.

Альт

Альт

В этой статье была показана работа только с основной веткой репозитория. Если вы хотите разобраться, как создавать новые ветки (и зачем это нужно) и добавлять их в основную ветку, прочитайте статью «Работа с git через консоль». Это более сложная статья, поэтому можете сделать небольшой перерыв и вернуться к ней позже.



Если ваш проект хранится только у вас на диске, то с поломкой диска вас ожидают неприятности. Даже регулярный бэкап не всегда сможет вас спасти.

Некоторые разработчики могут наворотить в проекте столько всего, что сами в шоке. А вспомнить, что и где делалось, затруднительно. Та еще неприятность.

Система контроля версий поможет вам избежать этих проблем. В случае необходимости можно совершить восстановление или откат изменений. Просмотреть и подтвердить или отменить правки. Ну а командная работа без системы контроля версий просто немыслима.

Установить расширение можно и при установке Visual Studio:


Перед тем как продолжить, нужно выучить немного терминов. Если вы их знаете, то проматывайте вниз.

Push – отправка изменений из локального репозитория в удаленный репозиторий (в нашем случае он будет расположен на GitHub).

Fetch – получение изменений из удаленного репозитория для сравнения и возможного последующего слияния.

Merge – слияние. Применение изменений совершенных в другом репозитории текущим репозиторием. Что-то вроде объединения двух репозиториев.

Pull – комбинация fetching и merging. Сперва из удаленного репозитория получается список изменений, а затем изменения применяются к текущему репозиторию.

То есть, если кто-то кроме вас поработал и совершил изменения в репозитории GitHub, то вы можете последовательно совершить 2 действия: Fetch, а затем Merge. Или же вы можете сразу выполнить Pull. После этого в вашем локальном репозитории отобразятся совершенные изменения.

После установки GitHub Extension for Visual Studio, панель Team Explorer будет выглядеть так:


Если панель Team Explorer скрыта, то отобразить ее можно через меню «View» / «Вид». Подключившись к GitHub (нажав Connect… и введя логин с паролем) получим возможность склонировать репозиторий GitHub или создать новый (кнопочки Clone и Create):


При клонировании будут выведен список репозиториев к которым у вас есть доступ:


При создании репозитория, вы сможете ввести его название, описание и выбрать лицензию, в соответствии с которой разрешено использование кода:


В данном случае Git ignore содержит предустановки для проектов различного типа. А так этот файлик формата .gitignore предназначен для того, чтобы указать в нем какие директории и файлы требуется исключить из системы управления версиями.

Для студентов GitHub предлагает специальное предложение — Student Developer Pack, которое в частности включает в себя бесплатное неограниченное количество приватных репозиториев.

После создания репозитория необходимо создать проект. Лично я предпочитаю наоборот, сначала создать проект и только затем его добавить в Git. Можно при создании проекта создать и репозиторий Git. Для этого достаточно поставить галочку.


Если эту галочку при создании проекта не поставить, а просто открыть проект в VS, то в меню Файл станет доступен пункт «Add to Source Control» / «Добавить в систему управления версиями»


После его нажатия, проект будет добавлен в систему управления версиями Git, и внутри папки с проектом будет создана локальная папка .git. В Team Explorer это будет выглядеть так:


Переключившись между Team Explorer и Solution Explorer можем совершить какие-то изменения в проекте. После любых изменений можно совершить коммит — своеобразную точку восстановления. Для этого вернемся в Team Explorer, в меню которого имеется кнопка с нарисованным на ней домиком. Нажатие на нее приведет вас в главное меню:


Кнопка «Changes» / «Изменения» позволит зафиксировать изменения (при этом обязательно необходимо указать комментарий с описанием изменений). Но все действия пока что будут совершены только с локальным репозиторием git.

При создании проекта иногда создается так называемый «Initial commit», в котором пишется что-то вроде «Проект был создан за три дня». Если вы только что создали проект, то изменений в нем пока что еще нет. А если изменений нет, то коммит создать не получится. Я добавлял строку с текстом, поэтому в комментарии постарался описать это коротко, но понятно:


Можно просмотреть совершенные изменения. Для этого на интересующем нас файле нужно вызвать контекстное меню и выбрать «Compare with Unmodified. » / «Сравнить с неизмененной…»


Получим примерно такое вот сравнение:


В данном случае было добавлено всего 2 строки кода. Через то же самое контекстное меню все изменения, произошедшие со времени последнего коммита можно отменить. Очень удобная фича.


Так как наш проект еще не был опубликован на GitHub, то нам предложат это сделать:


Кстати, .git вполне можно опубликовать не только на GitHub, но и на Visual Studio Team Services.

Если мы публиковали проект ранее, то в списке исходящих фиксаций будет расположен наш коммит:


Нажатие Push приведет к отправке изменений в репозиторий, расположенный на сервере GitHub.

Совершив для пробы некоторые изменения прямо через браузер в репозитории, расположенном на GitHub (да, так тоже можно), я снова зашел в синхронизацию и нажал Fetch:


Здесь двойным кликом можно открыть информацию о коммите:


И кликнув уже на файл просмотреть изменения:


В том же самом окне синхронизации можно просмотреть историю:


Историю можно просматривать в простом представлении и в подробном:



Теперь, давайте представим, что мы работаем в команде и кто-то другой уже совершил какие-то изменения в своем локальном репозитории и отправил из в GitHub. И вы тоже совершили изменения в том же самом файле и в той же самой строке. В таком случае при синхронизации с GitHub у вас возникнет конфликт:


Кликнув на Conflicts получим такое вот окошко в котором после клика на файле откроется меню с кнопкой Merge:



После внесения изменения нужно нажать Accept Merge (в верхнем левом углу), после чего сделать коммит:


Github Desktop и PowerShell environment for Git


Утилита доступна для пользователей Mac и Windows. Вместе с ней устанавливается и командная строка Git Shell. Фактически это PowerShell с набором скриптов для интеграции с Git. Называется PowerShell environment for Git. Сокращенно posh-git.

На GitHub страничке проекта posh-git можно найти краткую инструкцию о том, как установить командную строку posh для git вручную.

Интерфейс самой утилиты и работу с ней я рассматривать не буду. Думаю, что он не сложный и с ним вы сможете разобраться сами. Давайте лучше немного поиграем с командной строкой. В отличие от GUI командная строка, как правило, предоставляет гораздо больше возможностей. Но мы рассмотрим только основные команды.

Чтобы просмотреть текущую конфигурацию и убедится, что Git присутствует, можно выполнить команду:


Для того чтобы склонировать репозиторий достаточно выполнить команду git clone. Например:


git, что обозначает, что вы попали в среду PowerShell для Git. Можно выполнить команду git status, чтобы узнать, не требуется ли синхронизировать локальный репозиторий. Ответ может быть таким:


Самые популярные команды это те, которые мы уже рассматривали в рамках интерфейса расширения VS: git fetch, git merge, git push. Если вы зайдете в директорию (наименование PortableGit_xxx директории, я так полагаю, может быть несколько иным):


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

Например, если в директории проекта появится новый файл, то команда git status выдаст:



На этом позвольте завершить описание возможностей работы с GitHub для пользователей Windows. Если хотите продолжить изучение, то на MVA вы можете посмотреть курс GitHub for Windows Users

git remote add origin https://github.com/obemgcabazn/*имя репозитория*.git Привязываем папку к нашему репозиторию на GitHub (origin - это синоним "удаленного репозитория").

git add . — эта команда добавит в индекс все файлы из папки

git add -u — (u - updated) добавить в stage файлы измененные с последнего коммита файлы

git status покажет, что на данный момент находится в индексе

  • Чтобы оставить файлы на диске и удалить их из индекса, есть флаг --cached
  • Если нужно удалить все файлы из индекса, лежащие в какой-то определенной папке, то нужно поставить флаг -r . Чтобы пройти рекурсивно по всем файлам.

После этого нужно сделать пуш на сервер — git push -u origin master

Добавить SSH ключи

Если не работает по причине нехватки прав, то, возможно проблема с SSH ключами. Нужно запустить Gti Bash и набрать следующую команду: ssh-keygen -t rsa -C "myemail@mail.ru" . Конечно, указать свой почтовый ящик. На все вопросы нажимаем Enter. После выполнения, в каталоге C:\Documents and Settings\username\.ssh появятся файлы id_rsa и id_rsa.pub.

Далее на GitHub.com заходим в аккаунт в Settings -> SSH and GPG keys -> "New SSH key". В Заголовок вставляем что угодно, что поможет потом понять на какой компьютер установлен ключ (например, имя или место компьютера), а в поле key вставляем содержимое id_rsa.pub .

После этого гитхаб должен перестать ругаться на отсутствие прав доступа.

Часто используемые команды

  • git add файлы - добавляет файлы в индекс
  • git commit - отправляет из индекса в хранилище для дальнейшей отправки (git push) в удаленный репозиторий
  • git reset -- файлы заменяет файлы в индексе файлами из последнего коммита
  • git checkout файлы - заменяет файлы проекта ни диске файлами из индекса
  • git push origin master - отправляет файл на сервер, чтобы не вводить каждый раз логин/пароль, воспользуйтесь флагом '-u'

Чтобы создать новую ветку, нужно использовать команду git branch [Название_ветки] . Если написать просто git branch - покажет список существующих веток.

Читайте также: