MaxSite.org 11 лет
Блог вебмастера о сайтостроении

Как выложить свой проект на GitHub.com

Git. GitHubПросмотров: 99664 (2958)

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

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

Два способа

Существует два способа для связи с гитхабом. Они далеко не так очевидны для новичков. Основной нюанс заключается в том, какой именно будет использован гитхабовский репозиторий: совершенно пустой (не инициализированный) или уже рабочий. Именно это будет определять два разных варианта работы.

Первый способ подходит для уже инициализированных удаленных репозиториев. Для связи GitHub с локальной копией, вначале следует клонировать гитхабовский репозиторий как локальный. Только после этого можно изменить локальный и отправить его на удалённый.

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

Регистрация на GitHub.com

Вначале нужно зарегистрироваться на GitHub.com. Процедура простая, не будем на ней останавливаться. После этого нужно создать репозиторий. В поле «Repository name» следует указать имя, которое в будущем будет совпадать с каталогом проекта. Это удобно, хотя, локальный каталог может быть любым. Пусть проект называется «demo».

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

Здесь очень важнный момент. Если вы отметите любые опции (добавить .gitignore, лицензию и/или readme), то фактически это будет означать инициализацию репозитория. То есть это уже не пустой репозиторий, а наполненный и инициализировнный. В этом случае для связки придётся вначале клонировать удаленный. Это первый способ.

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

После создания репозиторий получит уникальную ссылку, например: https://github.com/USER/demo.git- где USER — ваш логин в гитхабе. Эта ссылка потребуется для работы.

Установка Git

Я всё ставил с официального сайта Git. Там же на сайте есть руководство Book, где описаны все начальне шаги. Поэтому будем считать, что git установлен и настроен.

Рассмотрим два способа отдельно.

Первый способ

Наш проект размещается в каталоге /demo/. Было бы неплохо сохранить этот каталог и для дальнейшей работы. Для того, чтобы обезопасить себя, переименуем его /demo-temp/любым файловым менеджером. То есть теперь каталога /demo/у нас нет.

Запускаем git-bash и клонируем удаленный репозиторий на локальную машину:

git clone https://github.com/USER/demo.git

— где USER — ваше имя на гитхабе. Ссылку также можно скопировать со страницы репозитория в поле «HTTPS clone URL».

Ссылка репозитория GitHub

Появится каталог /demo/который создал git. Он должен быть пустой, кроме подкаталога «.git» — это служебный каталог, и его трогать не нужно.

Теперь копируем в каталог /demo/содержимое нашего проекта, которое мы сохранили в /demo-temp/. Всё, что мы сюда скопируем, будет вылождено на GitHub, поэтому желательно удалить все ненужные файлы. Если какие-то служебные файлы требуются для проекта, то их можно указать в файле .gitignore.

Выполняем команду

git add .

Это добавит все файлы для отслеживания git'ом. Проверить состояние (до и после add) можно командой

git status

Теперь делаем коммит (сообщение любое):

git commit -m "Add project"

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

Для удобства можно сразу выставить метку версии (опять же любой вариант):

git tag v1.0

Теперь можно отправить изменения на гитхаб.

git push

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

Git потребует ввести логин и пароль для GitHub.com. Учитывайте, что пароль полностью скрывается, поэтому не будет видно даже «звездочек». После ввода нажимаем Enter и git выполнит обновление удаленного репозитория.

Теперь нужно обновить метки на удаленном репозитории (если вы их задали).

git push --tags

Здесь также нужно будет ввести логин и пароль.

Всё, синхронизация выполнена! Временный каталог /demo-temp/можно удалить или сохранить как старый резервный вариант.

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

Для настройки push, если требуется, пишем:

git config --global push.default simple

Второй способ

Наш проект может размещатся в любом каталоге. Для него нужно инициализировать git. Это стандартная процедура:

git init
git add .
git commit -m "Init"

Теперь для проекта git работает и его можно использовать по своему усмотрению: добавлять версии, смотреть логи, делать ветки и т.п.

Для связи с GitHub'ом следует указать удаленный репозиторий:

git remote add origin https://github.com/USER/demo.git
git push -u origin master

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

Комментариев: 24 RSS

1Даниил13-08-2015 13:43

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

3Настя13-10-2015 18:04

Спасибо большое! Много руководств для начинающих перечитала, но на свой вопрос получила ответ только здесь

4Мир21-10-2015 22:14

+1 спасибо за краткость, за**али мудаки, которые тыкают сотней терминов с мануалов, в итоге в голове каша, ничего не работает, когда надо-то тупо удобное логгирование действий =) К чему мне весь остальной маразм.

6Роман14-12-2015 23:47

Спасибо, но нужно добавить две строчки

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

Где you@example.com - введите ваш емейл при регистрации на github,

и Your Name - ваш логин на github.

7Андрей26-12-2015 23:03

Кратко и просто, респект. А по онлайн-учебнику и мануалам пришлось разбираться 2 дня)

Краткая инструкция - это хорошо, но мануал почитать всё-равно надо.

8Аноним06-03-2016 22:49

ОХ и вай 2 дня потратил пока эту статью не нашел. Спасибо за краткость

9Дим18-04-2016 21:49

Когда происходит загрузка , то загружается весь рабочий стол (все файлы с рабочего стола)? почему и как это исправить?

10MAX19-04-2016 10:13

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

12Роман Синеоков17-02-2017 22:25

Спасибо огромное! Помогло распутать путаницу после прохождения "интерактивного курса".

14Юрий07-03-2017 02:00

Статья плохая. Автор после клона не сделал создания репозитория. Без этого шаги не выполнимы. Так как эта главная суть, появилось впечатление что комментарии под статьей фейки. Это не заработает.

15MAX07-03-2017 10:12

Может ваш комментарий фейк? У всех-то отлично работает.

16Максим15-03-2017 20:47

Спасибо, проделал всё вторым способом, но теперь есть необходимость изменить название папки (репозитория), как это сделать?)

17MAX15-03-2017 21:06

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

19Аноним06-06-2017 21:43

Спасибо, проделал всё вторым способом, но теперь есть необходимость изменить название папки (репозитория), как это сделать?)

Для этого надо просто на сайте гитхаба удалить проект.

20Слава03-07-2017 01:18

я проделывал все вторым способом и в итоге получил

Permission denied (publickey).

fatal: Could not read from remote repository.

Please make sure you have the correct access rights

and the repository exists.

что тут надо сделать? генерировать ssh? как связать мой гит с моим гитхабом?

21MAX03-07-2017 11:54

Как-то однажды была похожая ошибка. Оказалось Инет сильно глючил. Подождал, всё самой «рассосалось». :-) Если же речь об ssh-ключе, то вот есть описание: https://habrahabr.ru/post/266667/

22Катерина03-08-2017 22:03

А у меня аутентификация не проходит на последнем шаге во втором способе. Там же пароль имеется ввиду пароль непосредственно от аккаунта?

24Татьяна26-09-2017 13:29

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

Оставьте комментарий!

Комментарий будет опубликован после проверки. Вы соглашаетесь с правилами сайта.

(обязательно)

О сайте

Здесь вы получите самую полную информацию о создании сайтов на MaxSite CMS.