Как добавить приложение на гитхаб
Одна из полезных привычек, которые я в себе последнее время воспитываю - это привычка работать с проектами и использовать Git даже в тех случаях, если проект создан локально и нужен, например, для обучения. Потому как мало ли что может вырасти в будущем даже из небольшого учебного проекта.
Рассмотрим отправку (push) своего первого проекта с локального компьютера в GitHub репозиторий.
Убедитесь, что git отслеживает ваш проект
1. Используя свой терминал (командную строку), зайдите в папку, где хранятся файлы вашего проекта: cd /path/to/my/codebase .
Я использую Cmder и очень доволен данным терминалом. Также, если вы используете для разработки на PHP Open Server, то в нем есть встроенная консоль.
Важно понимать, что в Cmder есть две версии для скачивания и Git есть только в версии Full.Вы не можете сделать это, просто открыв папку как обычно, вы должны сделать это с помощью командной строки / терминала.
2. Проверьте, инициализирован ли git командой git status .
Это означает, что папка, в которой вы находитесь, не отслеживается git. В этом случае инициализируйте git внутри папки вашего проекта, набрав команду
Если всё нормально, то далее выполните процесс добавления и "фиксации" вашего проекта - команды git add и git commit . Но об этом будем говорить дальше.
Напоминаю, что проверить настройки Git и пользователя в Cmder можно командой:
Тильда - это адрес вашего домашнего каталога.
Проверяем пользователя git локального компьютера
После инициализации Git нельзя удалять папку .git .
Создайте удаленный репозиторий на Github
- Войдите в свою учетную запись Github.
- В правом верхнем углу любой страницы Github вы должны увидеть значок «+». Нажмите на это, затем выберите 'New Repository' (рус. - Новый репозиторий).
- Дайте вашему хранилищу имя - в идеале то же имя, что и у вашего локального проекта. Если я создаю приложение для путешествий, его папка будет называться «travel-app» на моем компьютере, а «travel-app» будет также именем репозитория Github.
- Нажмите 'Create Repository' (рус. - Создать репозиторий). Следующий экран, который вы увидите, будет важен, поэтому не закрывайте его.
Подключите локальную папку проекта к вашему пустому хранилищу на Github
Сейчас на сайте github вы видите страницу у которой в заголовке написано: "Quick setup — if you’ve done this kind of thing before".
Скопируйте ссылку в поле формы (input) прямо под заголовком, она должна выглядеть примерно так:
Это веб-адрес (ссылка), который будет использовать ваша локальная папка для отправки содержимого в удаленную папку на Github.
1. Вернитесь к своему проекту в терминале / командной строке.
2. В вашем терминале / командной строке введите:
3. Отправьте (сделайте пуш, push) вашей ветки в Github:
4. Вернитесь к экрану репозитория на Github, который вы только что оставили, и обновите его. Название "Quick setup — if you’ve done this kind of thing before". Название должно исчезнуть, и вы должны увидеть свои файлы в репозитории.
Важное замечание. При создании репозитория на GitHub лучше не ставить галочку в пункт где спрашивается про создание файлы README.md, иначе могут возникнуть проблемы при отправки локальных файлов в репозиторий.Что лучше сделать перед отправкой локальных файлов
Перед отправкой локальных файлов в удаленный репозиторий лучше всего проиндексировать все файлы нашего нового проекта.
После команды git init мы можем командой git status увидеть, что не все файлы находятся в индексе.
Чтобы проиндексировать все файлы текущей папки мы вводим команду:
Точка означает текущую папку.
После того как все файлы проиндексированы мы должны закоммитить наши действия, т.е. зафиксировать:
Я бы посоветовал делать комментарий не на русском как в примере выше, а на английском. Это будет хорошей привычкой. Т.е. вместо "начало проекта" хорошо бы написать "start project".
Далее командой git status мы проверяем, что всё сделали правильно и видим такой экран:
Перечислю еще несколько полезных команд для работы с Гитом ниже.
Показывает историю коммитов.
Команда выше показывает через хеш коммита какие изменения были произведены.
Как новичку мне было сложно понять, каким образом создать связь между репозиториями. То есть локально у нас есть набор файлов проекта. Нужно каким-то образом выложить их на гитхаб. По сути это обычное копирование, но в git это работает не так очевидно. Пробившись несколько дней, я написал свою пошаговую инструкцию для новичков.
Два способа
Существует два способа для связи с гитхабом. Они далеко не так очевидны для новичков. Основной нюанс заключается в том, какой именно будет использован гитхабовский репозиторий: совершенно пустой (не инициализированный) или уже рабочий. Именно это будет определять два разных варианта работы.
Второй способ используется для совершенно пустого гитхабовского репозитория. Если уже есть локальный репозиторий, то можно вручную связать его с гитхабом без клонирования.
Здесь очень важнный момент. Если вы отметите любые опции (добавить .gitignore, лицензию и/или readme), то фактически это будет означать инициализацию репозитория. То есть это уже не пустой репозиторий, а наполненный и инициализировнный. В этом случае для связки придётся вначале клонировать удаленный. Это первый способ.
Если же вы не отметили ни одной опции, то гитхаб создаст совершенно пустой репозиторий без инициализации. И вот такой репозиторий можно связать с уже существующим локальным. Это второй способ.
Установка Git
Я всё ставил с официального сайта Git. Там же на сайте есть руководство Book, где описаны все начальне шаги. Поэтому будем считать, что git установлен и настроен.
Рассмотрим два способа отдельно.
Первый способ
Наш проект размещается в каталоге /demo/ . Было бы неплохо сохранить этот каталог и для дальнейшей работы. Для того, чтобы обезопасить себя, переименуем его /demo-temp/ любым файловым менеджером. То есть теперь каталога /demo/ у нас нет.
Запускаем git-bash и клонируем удаленный репозиторий на локальную машину:
Появится каталог /demo/ который создал git. Он должен быть пустой, кроме подкаталога «.git» — это служебный каталог, и его трогать не нужно.
Теперь копируем в каталог /demo/ содержимое нашего проекта, которое мы сохранили в /demo-temp/ . Всё, что мы сюда скопируем, будет вылождено на GitHub, поэтому желательно удалить все ненужные файлы. Если какие-то служебные файлы требуются для проекта, то их можно указать в файле .gitignore.
Это добавит все файлы для отслеживания git'ом. Проверить состояние (до и после add) можно командой
Пока мы работаем с локальным репозиторием. То есть нужно настроить его так, чтобы он оказался в том виде, который отправится на гитхаб.
Для удобства можно сразу выставить метку версии (опять же любой вариант):
Теперь нужно обновить метки на удаленном репозитории (если вы их задали).
Здесь также нужно будет ввести логин и пароль.
Всё, синхронизация выполнена! Временный каталог /demo-temp/ можно удалить или сохранить как старый резервный вариант.
Если мы зайдем на страницу репозитория на гитхабе, то увидим свой проект.
Для настройки push, если требуется, пишем:
Второй способ
Наш проект может размещатся в любом каталоге. Для него нужно инициализировать git. Это стандартная процедура:
Теперь для проекта git работает и его можно использовать по своему усмотрению: добавлять версии, смотреть логи, делать ветки и т.п.
Для связи с GitHub'ом следует указать удаленный репозиторий:
Этот код указывает адрес удаленного и отправляет все изменения на гитхабовский сервер. Если мы зайдем на страницу репозитория на гитхабе, то также увидим свой проект.
При разработке собственного проекта, рано или поздно, приходится задуматься о том, где хранить исходный код и как поддерживать работу с несколькими версиями. В случае работы на компанию, обычно это решается за вас и необходимо только поддерживать принятые правила. Есть несколько общеупотребимых систем контроля версий, и мы рассмотрим одну из самых популярных — это Git и сервис Github.
Система Git появилась, как средство управления исходными текстами в операционной системе Linux и завоевала множество поклонников в среде Open Source.
Сервис Github предоставляет хостинг (хранение) исходных текстов как на платной, так и на бесплатной основе. Это одна из крупнейших систем, которую любят Open Source пользователи. Основное отличие платной версии — это возможность создания частных репозиториев (хранилищ) исходных текстов и если вам скрывать нечего, то можете спокойно пользоваться бесплатной версией.
После того, как вы начали работу над проектом и написали какой-то работающий прототип, у вас появится желание сохранить результаты работы. Это так же может быть полезно в случае, если вы захотите продолжить работу на другом компьютере. Самое простое решение — это сохранить все на флешке. Этот вариант неплохо работает, но если есть подключение к интернету (а сейчас у кого его нет), то удобно воспользоваться системами Git/Github.
В этой статье будут описаны базовые сценарии использования систем Git/Github при работе над проектом в среде Linux с помощью командной строки. Все примеры проверялись на системе с Linux Ubuntu 14.04 и Git 1.9.1. Если вы пользуетесь другим дистрибутивом, то возможны отличия.
Создание локального репозитория
Предположим, что ваш проект находится в папке /home/user/project. Перед тем, как сохранять исходники, можно посмотреть, нет ли временных файлов в папке с проектом и по возможности их удалить.
Для просмотра папки удобно воспользоваться командой tree, которая покажет не только содержимое каждой папки, но и древовидную структуру директорий.
Часто временные файлы содержат специфические суффиксы, по которым их легко обнаружить и в последствии удалить. Для поиска таких файлов можно воспользоваться командой find. В качестве примера посмотрим, как найти все файлы, которые генерируются компилятором Python и имеют расширение .pyc
Переходим в папку с проектом /home/user/project:
И показываем список файлов с расширением .pyc:
Эта команда выведет список всех файлов с расширением .pyc в текущей директории и в ее поддиректориях. Для удаления найденных файлов, достаточно добавить ключ -delete к этой команде:
Очень рекомендуется не спешить и сразу ключ этот не добавлять. Первый раз вызвать команду для просмотра файлов и только убедившись, что в список не попало ничего полезного добавить ключ удаления.
Создадим локальный репозиторий в папке с проектом:
После выполнения этой команды появится новая папка с именем .git. В ней будет несколько файлов и поддиректориев. На данный момент система управления версиями еще не видит наших файлов.
Добавление файлов в локальный репозиторий
Для добавления файлов используется команда:
После выполнения команды, файл readme будет добавлен в систему управления версий (конечно если он уже был то этого в проекте). При добавлении файла генерируется хеш значение, которое выглядит примерно так:
Добавленные файлы хранятся в папке .git/objects/xx/yyyyyyyy, при этом первые 2 цифры хеша ипользуются для указания директории, а остальное хеш значение является именем файла. Наш добавленный файл будет находится здесь:
Что легко увидеть с помощью команды:
Сам файл является архивом, который легко распаковать и вывести на экран, указав полное значение хеша.
Для того, чтобы добавить все файлы из текущей директории введите:
Если нужно добавить файлы из текущей директории и из всех поддиректориев, то используйте:
Для того, чтобы в систему не попадали временные файлы, можно их занести в файл .gitignore, который нужно создать самостоятельно и разместить в корневом каталоге проекта (на том же уровне, что и .git директория).
Например, если в в файл .gitignore добавить следующую строчку *.pyc, то все файлы с расширением .pyc не будут добавляться в репозиторий.
После добавления файлов, все изменения находятся в так называемой staging (или cached) area. Это некоторое временнное хранилище, которое используется для накопления изменений и из которого создаются собственно версии проектов (commit).
Для просмотра текущего состояния можно воспользоваться командой:
После выполнения команды мы увидим, что в stage area находится наш файл:
Если вы продолжите вносить изменения в файл readme, то после вызова команды git status вы увидите две версии файла.
Чтобы добавить новые изменения достаточно повторить команду. Команда git add не только добавляет новые файлы, но и все изменения файлов, которые были добавлены ранее.
Можно отменить добавления файла readme в staging area с помощью команды:
После выполнения команды, файл readme отметится, как неизмененный системой.
Создание версии проекта
После того, как мы добавили нужные файлы в staging area мы можем создать версию проекта. С помощью команды:
Каждая новая версия сопровождается комментарием.
После коммита, мы сможем найти два новых объекта внутри .git репозитория.
Посмотрим, что внутри:
Ключ -t показывает тип объекта. В результате мы видим:
Для второго объекта:
Для самого первого файла:
Если мы будем дальше изучать содержимое этих файлов, то обнаружим древовидную структуру. От каждого коммита можно по ссылкам пройти по всем измененным файлам. Для практического применения это не очень нужно, но возможно так будет легче понять, что происходит при работе с системой Git.
Ключ --no-edit нужен, чтобы не вводить заново комментарий.
Можно просмотреть изменения, которые вы внесли последним коммитом:
Ключ --name-only нужен, чтобы показывать только имена измененный файлов. Без него по каждому измененнному файлу будет выдан список всех изменений.
Если вы продолжили работать и изменили только те файлы, которые были уже добавлены в систему командой git add, вы можете сделать коммит одной командой:
Для просмотра списка всех коммитов, воспользуйтесь командой:
Ключ --oneline нужен, чтобы уменьшить количество информации выдаваемой на экран. С этим ключем каждый коммит показывается в одну строчку. Например:
Для того, чтобы просмотреть изменения по конкретному коммиту, достаточно в команду git show добавить хеш значение коммита, которое можно получить с помощью предыдущей команды.
Для отмены последнего коммита (кроме самого первого) можно воспользоваться следующей командой:
Для того чтобы удалить все файлы в папке, которые не относятся к проекту и не сохранены в репозитории, можно воспользоваться командой:
Создание репозитория на Github
После регистрации нажимаем кнопочку "+" и вводим название репозитория. Выбираем тип Public (репозиторий всегда Public для бесплатной версии) и нажимаем Create.
В результате мы создали репозиторий на сайте Github. На экране мы увидим инструкцию, как соединить наш локальный репозиторий со вновь созданным. Часть команд нам уже знакома.
Добавляем удаленный репозиторий (по протоколу SSH) под именем origin (вместо origin можно использовать любое другое имя).
Можем просмотреть результат добавления с помощью команды:
Если все было правильно сделано, то увидим:
Для того, чтобы отменить регистрацию удаленного репозитария введите:
Следующей командой вы занесете все изменения, которые были сделаны в локальном репозитории на Github.
Ключ -u используется для того, чтобы установить связь между удаленным репозиторием github и вашей веткой master. Все дальнейшие изменения вы можете переносить на удаленный репозиторий упрощенной командой.
Перенос репозитория на другой компьютер
После того, как репозиторий был создан на Github, его можно скопировать на любой другой компьютер. Для этого применяется команда:
Результатом выполнения этой команды будет создание папки project в текущем каталоге. Эта папка также будет содержать локальный репозиторий (то есть папку .git).
Так же можно добавить название папки, в которой вы хотите разместить локальный репозиторий.
Работа с одним репозиторием с разных компьютеров
С одним репозиторием с разных компьютеров может работать несколько разработчиков или вы сами, если например работаете над одним и тем же проектом дома и на работе.
Для получения обновлений с удаленного репозитория воспользуйтесь командой:
Если вы изменили ваши локальные файлы, то команда git pull выдаст ошибку. Если вы уверены, что хотите перезаписать локальные файлы, файлами из удаленного репозитория то выполните команды:
Вместо github подставьте название вашего удаленного репозитория, которое вы зарегистрировали командой git push -u.
Как мы уже знаем, для того чтобы изменения выложить на удаленный репозиторий используется команда:
В случае, если в удаленном репозитории лежат файлы с версией более новой, чем у вас в локальном, то команда git push выдаст ошибку. Если вы уверены, что хотите перезаписать файлы в удаленном репозитории несмотря на конфликт версий, то воспользуйтесь командой:
Иногда возникает необходимость отложить ваши текущие изменения и поработать над файлами, которые находятся в удаленном репозитории. Для этого отложите текущие изменения командой:
После выполнения этой команды ваша локальная директория будет содержать файлы такие же, как и при последнем коммите. Вы можете загрузить новые файлы из удаленного репозитория командой git pull и после этого вернуть ваши изменения которые вы отложили командой:
Практически все профессиональные разработчики по крайней мере слышали про такой сервис , как GitHub. А многие молодые разработчики слышать слышали об этом сервисе, но как залить код на GitHub — не знают. В этой статье мы разберем, как выложить на ГитХаб свою разработку.
GitHub — это специализированное облачное решение, где разработчики могут сохранять файлы своего программного продукта, чтобы работать над ними совместными усилиями.
Как залить код на GitHub
Сегодня мы покажем способ , как залить код на ГитХаб при помощи специального приложения GitHub Desktop. Данное приложение позволяет залить код на GitHub без специальных команд в Консоли. Работа с Консолью почему-то вызывает трудности у молодых специалистов.
Для того чтобы залить код на GitHub, нужно будет пройти несколько этапов, на которых мы остановимся чуть ниже.
Как зарегистрироваться на GitHub
- Git — это локальное хранилище вашей разработки;
- GitHub — это облачное хранилище вашей разработки с большим количеством разных дополнительн ых «плюшек» в виде бесплатного хостинга, сообщества и др.
- публичный — ваш код будет виден всем участникам сервиса;
- приватный — ваш код будут видеть только те, кому вы откроете доступ.
- расширенным хранилищем ;
- повышенной защищенностью ;
- специальным набором инструментов для профессионального программирования.
- рассказать о себе;
- открыть свои соцсети;
- написать , каким стеком технологий владеете;
- открыт ь контакты для связи с вами.
Как добавить новый репозиторий, чтобы залить код на GitHub
- найти и нажать кнопку «New repository»;
- назвать свой будущий проект и кликнуть на «Create repository».
- readme — где подробно описывается проект, чтобы другим пользователям было проще понять , что вы разрабатываете;
- license — позволяет защитить ваши права разработчика;
- и др.
Как перенести облачный репозиторий на компьютер
- скачать и установить программу под вашу операционную систему;
- активировать приложение и пройти авторизацию: указать свой e-mail и информацию ГитХаб-аккаунта.
- создать новый репозиторий;
- загрузить папку из компьютера в программу;
- осуществить клонирование существующих репозиториев на компьютер.
- Current Repository — позволяет взаимодействовать с несколькими репозиториями, а также следить за изменениями, которые не были еще внесены в код;
- Current Branch — дает возможность взаимодействовать с разными ветками одного проекта;
- Fetch Origin — отвечает за синхронизацию файлов в локальном и облачном репозитории.
Как залить код на GitHub через локальный репозиторий
Открывайте любую программу для работы с кодом, например , Atom, Visual Studio Code и др. В этой программе открывайте проект, который находится в вашем компьютере. Можете работать с проектом в привычном режиме: корректировать созданные файлы или создавать новые.
Потом открываете программу GitHub Desktop. Все изменения, которые вы внесли в свой проект , появятся в разделе «Changes». Можно написать коммит, можно перейти в раздел «History», чтобы просмотреть все изменения. Если все «Ок», тогда нужно нажать на «Push Origin» , и все изменения отправятся в облачный репозиторий на GitHub.
Заключение
При помощи программы GitHub Desktop можно эффективно управлять своими проектами на ГитХабе, создавая новые репозит о рии, новые ветки в проекте, внося изменения в проект прямо в компьютере и при этом не посещая сам ресурс.
Теперь вы знаете, как залить код на GitHub при помощи программы, которую нужно установить на компьютер. Если не хотите использовать эту программу, можно залить код на ГитХаб прямо в самом аккаунте. Для этого также нужно будет создать новый репозиторий вашего проекта и перенести туда «руками» код вашей программы.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Читайте также: