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



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

Ваша работа приносит больше пользы, когда публикуется и делится ею со всем миром (или вашей командой) !!!

Начиная

Идти , как вы знаете, это самый популярный инструмент управления версиями, используемый сегодня для магазин , трек и версия любой данные .
Некоторые из ключевых особенностей git - это скорость , распределен природа, безопасность безболезненно разветвление и слияние вместе с совместный работать с несколькими участниками.

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

Это вдохновляет нас вывести наши данные на следующий уровень «Удаленное репо», чтобы опубликовать их в удаленном репозитории.

Разве мои данные уже не хранятся в базе данных git?

Да, это! Однако, как показано на диаграмме ниже, ваши данные все еще находятся в локальная база данных После Вас совершить и еще не поделился с коллегами.
4-х уровневая архитектура
Эта статья заполняет пробел между сбором наших данных из вашего локальный репозиторий и переходя к следующему слою, называемому удаленный репозиторий .





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

База данных собранной информации, хранящаяся в месте, которое может быть общий со своими товарищами по команде, дав им доступ .
Он идеально расположен на облако или на сервер (локальный или удаленный) в Интернете или в вашей локальной сети.
Удаленный репозиторий похож на ваш локальный репозиторий git, за исключением того, что он обычно объявляется как чистый репозиторий, чтобы не иметь рабочей копии, подобной вашей локальной.
Это сделано для ограничения прямых изменений, вносимых в удаленный репозиторий.

Голый репозиторий концепция - дополнительное преимущество для удаленного репозитория, позволяющего хранить его защищенный и использоваться с единственной целью - поделиться кодом между членами команды.
Это достигается за счет объявления удаленного репозитория как пустого с помощью параметра «--только‘Пометьте его во время инициализации как репозиторий git.
Таким образом, ваше репо создается с использованием метаданных git или, другими словами, объектов git, хранящихся только в скрытом каталоге «.git», и никто не может напрямую добавлять данные в рабочую копию.
Команда:git init --bare.

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



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

Прежде всего, вам нужно выбрать место, где вы хотите разместить удаленное репо.
Существует довольно много популярных облачных репозиториев хостинга git, таких как - GitLab , BitBucket , GitHub , Волей случая и CloudForge назвать несколько.
В этом посте я рассматриваю GitHub, поскольку именно здесь я впервые начал хранить свои репозитории git. Для начала все, что вам нужно сделать, это войти в учетную запись GitHub, а затем создать новый репозиторий , это создает URL-адрес, указывающий на это удаленное репо.


Git поддерживает протоколы ssh, git, http и https для адресации URL-адреса репозитория.

Кроме того, вы также можете разместить свой проект в другом месте, например Linux сервер следующие команды:
cd $ HOME
mkdir remote_repo
cd remote_repo
git init --bare.

Подключите пульт к вашей локальной машине

Присоединение пульта к вашей рабочей копии просто означает создание обработчик ссылки указателя для пульта или просто называется « удаленный обработчик '.
Давайте перейдем к моему проекту, который я хочу опубликовать -cd learnRemotes
Синтаксис:git удаленное добавление
Команда:git удаленное добавление источника https://github.com/divyabhushan/learnRemotes.git

«Происхождение это по умолчанию ссылочное имя для удаленного обработчика. ' (удаленное имя должно быть подходящим именем)
Посмотрим, сработало ли это, с помощью команды:git удаленный

Получилось :)

Также выведите удаленный URL-адрес вместе с именем:
git удаленный -v

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

Время публиковать

Синтаксис:git push --all --tags[-u | --set-upstream]
Команда:git push origin master

Итак, вы читаете это как 'Отправьте разницу коммитов в источник с локального мастера' .

Если вы проверяете свою учетную запись GitHub, там должны отображаться ваши локальные коммиты (данные) -



Отслеживание филиалов

Итак, вы успешно опубликовали свою работу в удаленном репозитории.
Однако важно настроить локальный филиал для трек изменения в удаленной ветке автоматически.
Использовать '--set-upstreamили-u‘Флаг вместе с командой‘ git push ’
Команда:git push -u origin master

цветные ветки


Давайте дальше создадим новый коммит в ветке master и проверим, как git его обнаруживает.
Команда:git статус


Показать ветви отслеживания в подробном режиме
Команда:git branch -vv


Следовательно, каждый раз, когда есть разница в фиксации между вашим локальным и удаленным репозиториями в отслеживаемой ветке, Git сообщит вам об этом.
Разве это не круто !!!

Можете ли вы расширить и реализовать на Java

Как другие подключатся к вашему пульту?

Это кусок пирога, когда ты клон удаленный репозиторий !!!

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

Шаг 1: Клонируйте удаленное репо от имени другого пользователя -
Команда:git clone https://github.com/divyabhushan/learnRemotes.git developer2
cd developer2

Шаг 2: Показать пульт и его URL
Команда:git удаленный -v


Шаг 3: Список ветвей отслеживания
Команда:git branch -vv


Самое интересное начинается, когда «developer2» начинает свою работу и нажимает на пульт.

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

Просмотр удаленных веток

Команда:git branch -r


Используйте параметр «-a» для печати как локальных, так и удаленных ветвей, попробуйте это в своем локальном репо после создания нескольких локальных веток.

Как другие вносят свой вклад в ваш пульт?

Начальная настройка
Developer2 решает изменить пару вещей, например:
к. Создайте новую «функцию» из последнего коммита в «главной» ветке и сделайте новый коммит в ветке 'особенность'
Команды:
git checkout -b функция
echo 'улучшения функций'> feature.txt
git add. && git commit -m 'улучшения функций'

б. Создайте ветвь 'feature2', отличная от более раннего коммита в ветке 'master'
Команды:
git checkout -b feature2 95651fb
echo 'функция2 добавлена'> feature2.txt
git add. && git commit -m 'Добавление изменений в feature2'

Давайте визуализируем ветки на машине developer2 вместе с информацией для отслеживания:

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

Отправка изменений на удаленный
Во-первых, позвольте мне перенести ветку 'feature' на удаленный сервер с флагом '–set-upstream или -u'.
Команда:git push -u функция происхождения




На пульте будет создана новая ветка, если ее еще нет !!!

В этот момент укажите удаленные ветки с помощью команды: ‘git branch -r’




Другой способ отслеживать удаленную ветку
Кроме того, давайте установим ветвь «feature2» так, чтобы она указывала на ту же ветку «feature» на пульте дистанционного управления.
Команда:git branch --set-upstream-to = origin / feature feature2



цветная ветка


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

Еще раз перечислите ветки в подробном режиме, команда:git branch -vv



Обратите внимание, что обе локальные ветви «feature» и «feature2» указывают на одну и ту же удаленную ветвь «feature».

Синхронизация с пультом дистанционного управления - извлечение, извлечение и нажатие

Рассмотрим ту часть, где удаленный филиал у вас отслеживание уже обновлено, что тогда?
Просто 'git статус‘Или‘git checkout'Или даже'git branch -vv«Команда предупреждает нас с таким несоответствием -



«Разработчик2» должен сначала обновить локальные ссылки и объекты (« git fetch ‘), А затем объедините удаленные и локальные изменения (‘ git merge ’).
Интересно, что вы можете заменить эти две команды одной командой «git pull».
Синтаксис:идти Тянуть

–Для неотслеживаемой ветки
Синтаксис: git pull [:]
Команда:Функция git pull origin: функция2

–Для гусеничной ветки
Синтаксис: git pull
Команда:git pull




=> На практике могут возникнуть конфликты на этом этапе, когда вы для простоты извлекаете данные с удаленного компьютера. Я создал изменение фиксации без конфликтов.

После извлечения (выборки и слияния) 'developer2' удаленные последние изменения теперь должны публиковать его собственную работу -
Команда:git push origin HEAD: функция
Примечание. 'Feature' восходящей ветки не соответствует имени локальной ветки 'feature2', вы должны указать его явно.

шаг за шагом обучение



Напоминание : «HEAD» - это последняя фиксация в локальной ветке «feature2».

Когда использовать «git fetch»?
Иногда, когда вам нужно просто обновить справочные главы без фактического скачивания (извлечения) с пульта.
Или, когда удаленные ветки были изменены / удалены при обновлении, вам нужно будет запустить команду выборки с ‘--чернослив‘Вариант.
Рекомендуется запускать команду «git fetch» ​​каждый раз, когда вы начинаете работать с локальным репозиторием.

удаленное управление

Наконец, вы можете выполнить некоторые служебные задачи, такие как переименование или удаление пультов и веток.
Они так же важны, как и предыдущие команды.

Переименовать удаленный

Синтаксис:git удаленное переименование
Команда:git удаленное переименование snv_repo svn
Например, рассмотрим менеджера проекта, связанного с 3 проектами:


Удалить удаленную ссылку

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

Синтаксис:git удаленное удаление
Команда:git удаленно удалить proj1


Что, если бы у вас была настроена локальная ветка для отслеживания ветки из удаленного репозитория «proj1»?
Ну твой местное отделение (и, следовательно, работа) Безопасно и все еще присутствует, просто его ссылка удаленного отслеживания и конфигурация настройки будут автоматически удаляется

Удалить удаленную ветку

Скажи тебе случайно толкнул твой личный черновая работа над переход к удаленному но пока не хочу, чтобы другие это проверяли -
Удалите ветку «незаконченная работа» с удаленного «svn’-
Команда:git branch -vv# Список ветвей удаленного отслеживания



Синтаксис:git push --delete
Команда:git push --delete svn незаконченная работа


Ликвидация

На этом мы подошли к концу данной статьи. Если вы нашли это « Руководство ' соответствующие, проверить от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру. Курс Edureka DevOps Certification Training помогает учащимся получить опыт в различных процессах и инструментах DevOps, таких как Puppet, Jenkins, Nagios и GIT, для автоматизации нескольких этапов в SDLC.