Обновить репозиторий git на компьютере

Обновить репозиторий git на компьютере

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

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


Как создать удаленный репозиторий (на примере Github)

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

Перейдите на https://github.com и войдите в свой аккаунт. Нажмите кнопку New repository (Новый репозиторий). На открывшейся странице введите имя репозитория (Repository name) и нажмите кнопку Create repository.

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

Данная команда добавит удаленный репозиторий с именем origin , который указывает на ваш Github-репозиторий. Пока мы только добавили запись об удаленном репозитории.

Теперь можно выполнить команду git push , чтобы отправить все ваши изменения на удаленный репозиторий:

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

В команде git push мы использовали ключ -u . Данный ключ используется для того, чтобы связать локальную ветку master с удаленной origin/master (в нашем случае удаленной ветки не существовало, она автоматически была создана). Так как связь установлена, то последующие выполнения git push из ветки мастер можно выполнять без указания веток. То есть вместо git push origin master ), можно просто выполнять команду git push .

Задание к работе

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

В отчет по данной лабораторной работе нужно вставить скриншоты web-интерфейса серверной СКВ, включая скриншоты с содержимым файла репозитория после каждого пункта задания. После выполнения каждого пункта задания нужно выполнить команды для просмотра состояния тех частей локальных репозиториев (дерева коммитов, индекс, файлы из рабочего каталога), которые могут измениться при выполнении этого пункта.

Что такое remote

«Remote» для ветки — это URL-адрес, по которому ваш локальный репозиторий git извлекает изменения. Ваш локальный репозиторий git полностью принадлежит вам — на него не влияет код других людей, пока они не отправят свои коммиты на удалённый компьютер. Если вы все используете один и тот же remote, то всё синхронизируется, но remote — это всего лишь конечная точка. Вы можете клонировать эту конечную точку и без особых проблем переключиться на новый remote.

Каждый раз, когда вы клонируете новый репозиторий, в качестве remote по умолчанию устанавливается «origin». Вы можете найти remote для любого репозитория git, выполнив:

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

Но то, что origin является remote по умолчанию, не означает, что вы ограничены одним им. Зачем вам два remote? Что ж, хороший вариант использования — это AWS CodeCommit. Это репозиторий git, который имеет множество интеграций с их вычислительной платформой EC2, что позволяет автоматизировать развёртывание кода на ваших серверах непосредственно из системы управления версиями.

Однако CodeCommit довольно неуклюж по сравнению с более специализированными поставщиками git, такими как GitHub, GitLab и BitBucket, и не имеет такой интеграции CI/CD, которая делает этих поставщиков отличными. Итак, вы столкнулись с дилеммой: использовать CodeCommit в качестве решения git по умолчанию или самостоятельно создать конвейер автоматического развёртывания кода.

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

H Автоматическое обновление приложений с использованием GIT репозитория в черновиках

image

Думаю, многие программисты в тот или иной момент сталкивались с тем, что нужно как-то решить проблему с доставкой обновлений своего ПО до пользователей.
Способов ее решения множество, я хочу предложить еще один, который мне показался интересным. Он не претендует на звание идеального, но имеет право жить.
Всем программистам я думаю известно, что такое GIT (распределённая система управления версиями), данный способ публикации приложения основан на данной системе.

Но при использовании GIT под Windows есть некоторые проблемы, например все найденные мною клиенты GIT, даже в Portable (без установки) версии:
• Занимают много памяти на диске, много требуется скачивать (от 15 до 450 МБ)
• Содержат множество папок и файлов, неудобно их все переносить вместе со своим приложением

  1. Регистрация и вход в систему управления репозиторием GIT,
  2. Создание репозитория,
  3. Инициализация репозитория на локальной машине,
  4. Загрузка в него проекта,
  5. Commit (сохранение изменений) и публикация репозитория.
  • Хранение каждой версии приложения и при необходимости быстрый «откат» к старой версии;
  • Загрузка только измененных файлов, вместо загрузки всего приложения (GIT PULL);
  • Публикация «загрузчика» вместо приложения, чтобы быть уверенным, что с какого бы источника не было скачено приложение, оно всегда будет загружать последнюю его версию;
  • Сбой в работе приложения никак не влияет на его загрузчик; соответственно даже при неудачной публикации приложение можно восстановить, достаточно опубликовать рабочую его версию и она снова загрузится всем пользователям;
  • Для дистрибутива и исходных кодов можно использовать отдельные репозитории;
  • Обновлять можно любое приложение, так как ничего в приложении переделывать не требуется;
  • При желании можно обновлять все что угодно, будь то библиотека документации например.

image

Как это работает?
Достаточно создать Bat файл или ярлык на приложение с параметрами, в которых указать URL репозитория и название папки в которую приложение будет загружено. gitnano [urlgit] [dirname]

  • если найдет уже скачанный репозиторий, попробует сделать Pull.
  • Если что пойдет не так (например конфликты возникнут), то просто сделает clone еще раз и заменит старую папку на новую.

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

Исходники и ссылка на приложение размещены в GITHUB и доступны все желающим. Предложения по доработке приветствуются.

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

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector