Как обновить проект с github
Перейти к содержимому

Как обновить проект с github

Git, как обновить проект ?

Недавно начал работать с Git и столкнулся со следующей ситуацией:

У себя на локальном сервере я разработал проект и залил его в репозиторий. Далее я зашел на сервер, клонировал проект, установил и настроил его.

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

Как я понял удалять заново устанавливать и настраивать все файлы не вариант. Подскажите пожалуйста что нужно сделать ?

  • Вопрос задан более трёх лет назад
  • 67761 просмотр
  • Facebook
  • Вконтакте
  • Twitter
  • Facebook
  • Вконтакте
  • Twitter

Вам нужен центральный репозиторий, в который вы сможете загружать ваши новые правки с помощью git push (с любого компьютера), и из которого сможете загружать их в любое место, где у вас этот репозиторий склонирован, с помощью git pull. См. раздел о работе с удалёнными репозиториями в документации по Git.

Вообще говоря, git позволяет работать и в полной децентрализации, но это в общем случае менее удобно.

Так вот. Самое простое — воспользуйтесь услугами Github, хранить у них репозитории получается надёжно и недорого.

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

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

Вкратце — создаёте bare-репозиторий, загружаете на сервер, и указываете его адрес в качестве origin у себя в локальном репозитории (а также в любых других местах, где есть этот репозиторий — например, у вас же на сервере):

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

При этом remote при клонировании выставляется автоматически.

А вообще, настоятельно рекомендую прочитать документацию по git, прогуглить интересующие вопросы, пройти вот такое короткое введение, и, поверьте, станет резко проще и понятнее.

Git: 4 наиболее частых действия в примерах

Git: 4 наиболее частых действия в примерах

Итак, у вас есть ссылка на github и вы хотите скачать эти файлы к себе на компьютер. Здесь все просто. Можно пройти по ссылке и нажать кнопку Download zip . Вы скачаете решение к себе на компьютер в виде zip файла. Но преимуществ использования системы контроля версий у вас нет.

Второй способ – сделать копию с помощью консоли. Для этого:

  • создаем папку, в которую будем скачивать файлы.
  • Вызываем контекстное меню папки и в нем выбираем пункт Git bash here
  • В открывшейся консоли набираем команду:

$ git clone https://github.com/luschenko/pulse_bg.git

Где https://github.com/luschenko/pulse_bg.git — адрес github репозитория.

В результате – у вас появилась копия репозитория на жестком диске.

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

Обновляем копию репозитория на локальном диске

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

Команда создаст репозиторий

Добавьте в репозиторий папки и файлы внутри текущей:

$ git pull https://github.com/luschenko/pulse_bg.git

Скачайте обновления из удаленного репозитория

Теперь у вас самая новая версия локального репозитория.

Создать локальный репозиторий

Вы сделали проект. Теперь на его основе хотите создать репозиторий. Выполняем:
Кликаем правой кнопкой мыши на папке, в контекстном меню выбираем Git Bash Here.

Для начала нужно создать репозиторий:

Скачайте обновления из удаленного репозитория

Затем добавить в репозиторий файлы и папки проекта

Проверить состояние репозитория можно с помощью команды git status

$ git commit -m «stage 1»

Итак, проект создан, изменения в нем отслеживаются. Создаем слепок состояния проекта (коммит).

Все, проект готов. Можно отправлять его на git.

Отправка коммита на git

Создадим на GitHub новый репозиторий. Для этого перейдем https://github.com/ и нажмем кнопку + New repository . Внесите имя репозитория.
Скопируйте адрес репозитория, он представлен строкой вида https://github.com/luschenko/t1.git

Теперь в консоли git bash выполните команду:

$ git push -u https://github.com/luschenko/t1.git master

Система потребует логин и пароль. Внесите ваш логин и пароль от GitHub. Дождитесь загрузки репозитория.

Обновить удаленный репозиторий

Вы добавили новый код в ваш проект и хотите залить изменения на удаленный репозиторий. Выполняем:

запустите Git Bash и добавьте файлы для последующего коммита:

$ git commit -m «stage 1»

Залейте коммит на удаленный репозиторий

$ git push -u https://github.com/luschenko/t1.git master

Системы контроля версий типа Git и препроцессоры HTML и СSS являются незаменимыми инструментами в командной работе.

Простое руководство по работе с git

Простое руководство по работе с git

Ваш локальный git репозиторий состоит из трех «сущностей». Рабочий каталог (Working Directory) содержит файлы. Индекс (Index) или область подготовленных файлов (Staging Area), содержит информацию о том, что должно войти в следующий коммит и HEAD указывает на последний коммит что вы сделали.

Подготовка и коммит

Чтобы подготовить изменения (добавить их в Индекс), используйте

git add <имя_файла>
git add *

Это первый шаг в основном рабочем процессе. Сделать коммит подготовленных изменений можно командой

git commit -m «Описание коммита»

Теперь изменения закреплены в локальном репозитории, и на них указывает HEAD, но еще не в удаленном репозитории.

Отправка изменений

Чтобы отправить эти изменения в ваш удаленный репозиторий, выполните

git push origin master

Можно изменить master на любую другую ветвь, чтобы отправить изменения на неё.

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

git remote add origin <адрес_сервера>

Теперь вы можете отправлять изменения на удаленный репозиторий

Ветвление

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

Создать новую ветку с названием «feature_x» и переключиться на неё можно командой
git checkout -b feature_x
переключиться обратно на master
git checkout master
удалить ветку
git branch -d feature_x
ветка не будет доступна тем, кто пользуется с вами удаленным репозиторием, пока вы не отправите её туда
git push origin <имя_ветки>

Обновление и слияние

Обновить ваш локальный репозиторий можно командой
git pull
которая заберет изменения из удаленного репозитория и проведет слияние с активной веткой.
Для того чтобы слить другую ветку с активной (например master), используйте команду
git merge <имя_ветки>
В обоих случаях git пытается автоматически слить изменения. К сожалению, это не всегда возможно и результатом станет конфликт. Вы ответственны за разрешение возникших конфликтов, путем ручного редактирования файлов, указанных git. После изменений вам надо пометить их как слитые
git add <имя_файла>
перед слиянием вы можете предварительно посмотреть на изменения
git diff <имя_ветки> <имя_другой_ветки>

Метки

Рекомендуется использовать метки для закрепления момента выпуска версий. Это популярная практика, которая также используется в SVN. Создать новую метку с именем 1.0.0 можно, выполнив
git tag 1.0.0 1b2e1d63ff
1b2e1d63ff это первые десять цифр уникального идентификатора (id), с которым будет связана метка. Чтобы посмотреть идентификаторы коммитов, выполните
git log
Можно использовать меньшее количество символов в качестве идентификатора, с учетом того, что он является уникальным.

Замена локальных изменений

В случае, если вы сделали что-то не то, вы можете заменить локальные изменения, используя команду
git checkout — <имя_файла>
произойдет замена изменений в вашем рабочем каталоге, на то, что сейчас находится в HEAD. Изменения, уже внесенные в индекс, также как и новые файлы, будут сохранены.

Если же вы хотите удалить все ваши локальные изменения и коммиты, получите (fetch) последние изменения с сервера и укажите локальной ветке master на них вот так
git fetch origin
git reset —hard origin/master

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *