Как загрузить код проекта на GitHub

Рассмотрим несколько способов загрузки исходного кода проекта на GitHub

4 мин на чтение

Уровень: новичок.

База: системы контроля версий, распределенная система контроля версий git.

Создание пустого репозитория GitHub

Пусть есть проект с исходным кодом, состоящим из одного файла main.py. Загрузим его в репозиторий GitHub.

Файл main.py проекта в папке MyProject в Проводнике Windows

Переходим на сайт https://github.com. Регистрируемся, если не зарегистрированы, и входим в свой аккаунт. На главной странице GitHub нажимаем кнопку “New” для создания нового репозитория.

Кнопка New на главной странице GitHub для создания нового репозитория

На открывшейся странице вводим название репозитория. Название должно отражать суть проекта.

Форма создания нового репозитория GitHub с полем ввода названия MyProject

Нажимаем кнопку “Create repository” для завершения создания нового репозитория.

Кнопка Create repository внизу формы создания репозитория на GitHub

Пустой репозиторий GitHub создан. Теперь загрузим сюда код нашего проекта. Сделать это можно разными способами. Рассмотрим несколько из них.

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

Загрузка проекта через веб-интерфейс GitHub

Загрузить проект средствами GitHub проще и быстрее всего. Этот вариант хорошо подходит в случаях, когда нужно просто сохранить проект, чтобы не потерять или поделиться им. Открываем страницу проекта и нажимаем ссылку “uploading an existing file”.

Ссылка uploading an existing file на странице пустого репозитория GitHub

Далее в открывшееся окно можно либо перетащить файлы, либо указать их через диалоговое окно по ссылке “choose your files”.

Окно загрузки файлов на GitHub со ссылкой choose your files

Выбираем файлы (или папки, если есть) проекта и жмем “Открыть”.

Диалог выбора файла main.py с кнопкой Открыть

Выбранные файлы отобразятся в интерфейсе.

Выбранный файл main.py в списке загружаемых файлов на GitHub перед коммитом

После загрузки всех файлов проекта, изменения нужно зафиксировать в репозитории. Иначе говоря, сделать коммит (от англ. commit). Нажимаем на кнопку “Commit changes” внизу страницы. При желании можно изменить автоматическое сообщение коммита “Add files via upload” на что-то свое. Например, “Первая версия проекта”.

Кнопка Commit changes для фиксации загруженного файла main.py в репозитории GitHub

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

Страница репозитория MyProject на GitHub с загруженным файлом main.py

Загрузка проекта через интерфейс командной строки git

Этот способ немного сложнее предыдущего и потребует навыков работы с командной строкой. Для начала работы нам нужно установить Git на свой компьютер. Переходим на сайт git-scm.com и скачиваем нужный установщик. Во время установки можно следовать рекомендуемым параметрам мастера установки.

Сайт git-scm.com с кнопкой Download for Windows для скачивания установщика Git

На странице проекта переключаемся на ссылку “HTTPS” и далее будем следовать инструкциям из первого блока (команды можно копировать прямо из него ).

Переключение на вкладку HTTPS со списком git-команд для загрузки проекта на странице репозитория GitHub

Запускаем консоль командной строки. В Windows ее можно найти в меню Пуск через поиск. И переходим в папку с проектом командой cd.

Переход в папку проекта MyProject командой cd в консоли Windows

Инициализируем пустой локальный репозиторий командой git init.

Инициализация локального репозитория командой git init в консоли

Добавляем в локальный репозиторий файлы проекта командой git add.

Добавление файла main.py в индекс командой git add в консоли

Фиксируем добавленные в репозиторий файлы командой git commit.

Фиксация файла коммитом с сообщением "first commit" командой git commit в консоли

Переименуем главную ветку проекта в main.

Переименование главной ветки в main командой git branch -M main в консоли

Добавим созданный ранее репозиторий GitHub как удаленный репозиторий для нашего проекта. Не забудьте подставить свою ссылку в команде.

Добавление удаленного репозитория origin командой git remote add в консоли

Отправляем наш локальный репозиторий в GitHub командой git push -u origin main. Здесь git может запросить учетные данные пользователя GitHub - вводим свои логин и пароль.

Отправка локального репозитория на GitHub командой git push -u origin main в консоли

Теперь заходим на страницу проекта в GitHub и видим наш репозиторий с файлом проекта. Если страница уже была открыта, ее нужно обновить.

Страница репозитория MyProject на GitHub с файлом main.py, загруженным через git push

Загрузка проекта с помощью TortoiseGit

TortoiseGit - это графическая оболочка git для Windows с множеством приложений, облегчающих работу с системой контроля версий. Для начала работы с TortoiseGit, нужно установить сам git как это указано в начале предыдущего раздела. После этого скачиваем установщик TortoiseGit с официального сайта и устанавливаем программу, следуя указаниям мастера установки.

Официальный сайт tortoisegit.org с кнопкой Download для скачивания установщика

Переходим в Проводнике в папку с проектом и вызываем контекстное меню на свободном месте. В меню выбираем пункт “Git Create repository here…” для начала инициализации репозитория.

Пункт контекстного меню Git Create repository here в Проводнике для инициализации репозитория

В появившемся окне просто жмем “Ок”. Создавать чистый репозиторий нам не нужно.

Диалог Git Init TortoiseGit с невыбранной опцией Make it Bare и кнопкой OK

Получаем сообщение, что пустой репозиторий инициализирован. Жмем “Ок”.

Сообщение TortoiseGit "Initialized empty Git repository in D:\MyProject"

Теперь добавим в репозиторий файлы нашего проекта. В папке репозитория переходим в контекстное меню “TortoiseGit -> Add…”.

Пункт Add в контекстном меню TortoiseGit для добавления файлов в репозиторий

В открывшемся окне ставим галочки напротив файлов, которые мы хотим добавить в репозиторий. Жмем “Ок”.

Диалог Add TortoiseGit со списком файлов и отмеченной галочкой main.py

Следующим окном TortoiseGit информирует нас, что все выбранные файлы добавлены в репозиторий. Нажимаем кнопку “Commit…”, чтобы зафиксировать внесенные файлы в репозитории или, другими словами, сделать коммит.

Окно Add Finished TortoiseGit с кнопкой Commit для перехода к фиксации файла

Обязательно набираем сообщение коммита, например, “Добавление первой версии проекта” и жмем кнопку “Commit”.

Диалог Commit TortoiseGit с введенным сообщением "Добавление первой версии проекта"

Дожидаемся успешного завершения коммита и закрываем окно.

Окно Git Command Progress TortoiseGit с успешным завершением коммита и кнопкой Close

Переименуем основную ветку репозитория в “main”. Переходим в контекстное меню “TortoiseGit -> Browse References” в папке проекта.

Пункт Browse References в контекстном меню TortoiseGit

В открывшемся окне вызываем контекстное меню для основной ветки, жмем “Rename” и вводим новое имя ветки “main”. Закрываем диалог по кнопке “Ок”.

Диалог Browse references TortoiseGit с контекстным меню Rename для основной ветки

Укажем созданный репозиторий на GitHub как удаленный репозиторий для нашего проекта. Предварительно на странице проекта на GitHub переключаемся на ссылку “HTTPS” и копируем ее.

Копирование ссылки HTTPS репозитория MyProject со страницы GitHub

Переходим в настройки репозитория через контекстное меню “TortoiseGit -> Settings…” в папке проекта.

Пункт Settings в контекстном меню TortoiseGit для перехода в настройки репозитория

В разделе настроек “Remote” вводим имя удаленного репозитория как “origin” и в поле “URL:” вставляем ссылку репозитория на GitHub. Нажимаем кнопку “Add New/Save” для добавления репозитория в список.

Раздел настроек Remote TortoiseGit с именем origin, URL репозитория и кнопкой Add New/Save

В появившемся запросе можем смело нажать “Нет”. Все равно никаких веток в нашем репозитории на GitHub еще не существует.

Запрос TortoiseGit "Do you want to fetch remote branches from the newly added remote?" с ответом Нет

Удаленный репозиторий origin добавлен. Закрываем окно настроек по кнопке “Ок”.

Добавленный удаленный репозиторий origin в настройках TortoiseGit с кнопкой ОК

И, наконец, отправим наш проект в репозиторий GitHub. Вызываем окно “Push” через контекстное меню “TortoiseGit -> Push…” в папке проекта.

Пункт Push в контекстном меню TortoiseGit для отправки проекта на GitHub

В окне “Push” обязательно ставим галочку “Set upstream/track remote branch”, чтобы наша локальная ветка на компьютере привязалась к своей удаленной копии на GitHub. Нажимаем “Ок” и ждем окончания процесса отправки проекта.

Диалог Push TortoiseGit с отмеченной галочкой Set upstream/track remote branch

Проект успешно отправлен на GitHub. Закрываем окно.

Окно Git Command Progress TortoiseGit с успешным завершением push и кнопкой Close

Теперь заходим на страницу проекта в GitHub и видим наш репозиторий с файлом проекта. Если страница уже была открыта, ее нужно обновить.

Страница репозитория MyProject на GitHub с файлом main.py, загруженным через TortoiseGit

Свежие записи

Чему учиться в эпоху ИИ?

Чему учиться в эпоху ИИ?

Заметка по книге Букреева и ДеУолта “Эверест. Смертельное восхождение”

1 мин на чтение

Doc As Code: диаграммы PlantUML в Doxygen

Doc As Code: диаграммы PlantUML в Doxygen

Включаем поддержку UML-диаграмм в Doxygen и размышляем о последствиях

3 мин на чтение

Какие файлы нельзя коммитить в Git

Какие файлы нельзя коммитить в Git

Разбираемся, как не превратить репозиторий Git в Google-диск

3 мин на чтение

Зачем нужны UML диаграммы?

Зачем нужны UML диаграммы?

Выясняем, когда и для чего разработчики используют UML

3 мин на чтение

Как разбить проект CMake на подпроекты

Как разбить проект CMake на подпроекты

Разделяем на подпроекты существующий проект C++ на CMake

1 мин на чтение