Ето как споделяте работата си върху отдалечено хранилище на git



Споделете местната си работа с екипа на отдалечено хранилище, научете се също да управлявате това, докато проследявате промените и останете синхронизирани.

Вашата работа добавя повече стойност, когато е публикувана и споделена със света (или вашия екип) !!!

Приготвяме се да започнем

Отивам , както знаете, е най-популярният инструмент за управление на версиите, използван днес магазин , писта и версия всякакъв вид данни .
Някои от ключовите характеристики на git са неговите скорост , разпределени природа, сигурност , безболезнено разклоняване и сливане заедно с съвместни работа между множество сътрудници.

Започвайки нашата дискусия от тук, нека се съсредоточим върху това как git ви помага сътрудничат и споделете работата си с връстниците, така че всички да могат да работят по един и същ код едновременно, без да повреждат данните на другия.
Това е мястото, където концепцията за отдалечени хранилища влезте в картината.
Предполагам, че сте усвоили изкуството на от твой работна директория (файлова система) към Постановка и накрая да го ангажирате с вашия локално хранилище (база данни).

Това ни вдъхновява да изтласкаме данните си към следващото ниво „Отдалечено репо“, за да ги публикуваме в отдалечено хранилище.

Дали данните ми вече не се съхраняват в git база данни?

Да, така е! Както е посочено на диаграмата по-долу, вашите данни все още са в локална база данни след теб ангажирам все още не е споделено с колегите ви.
4-степенна архитектура
Тази статия запълва празнината между събирането на нашите данни от вашия локално хранилище и го пренася на следващия слой, наречен отдалечено хранилище .





Какво е отдалечено хранилище

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

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

Имайки това предвид, придвижвайки се напред, ще видим повече начини за управление на отдалечено репо и как да синхронизираме нашата локална работа с дистанционното.



Създайте отдалечено хранилище

Първо и най-важното е, че трябва да вземете решение за местоположение, на което искате да поставите отдалеченото репо.
Има доста популярни базирани на облак хранилища за git хостинг като - GitLab , BitBucket , GitHub , Изпълнявайте и CloudForge да назовем само няколко.
В тази публикация обмислям GitHub, тъй като това е мястото, където за първи път започнах да поддържам моите git хранилища. За начало всичко, което трябва да направите, е да влезете в акаунт в GitHub и след това създайте ново хранилище , това създава URL адрес, сочещ към този отдалечен репо.


Git поддържа ssh, git, http и https протоколи за адресиране на URL адрес на хранилище.

Като алтернатива можете също да поставите проекта си на друго място, като кажете a Linux сървър следвайки командите по-долу-
cd $ НАЧАЛО
mkdir remote_repo
cd remote_repo
git init --bare.

Прикрепете дистанционното към вашата локална машина

Прикачването на дистанционно към вашето работно копие просто означава да създадете a манипулатор на референтен указател за дистанционното или просто наречен „ отдалечен манипулатор '.
Нека да преминем към моя проект, който искам да публикувам-cd learnRemotes
Синтаксис:git отдалечено добавяне
Команда:git отдалечено добавяне на произход https://github.com/divyabhushan/learnRemotes.git

„Произход е по подразбиране референтно име за отдалечения манипулатор. ' (отдалеченото име трябва да е някакво подходящо име)
Нека да видим дали това е работило, използвайки командата:git дистанционно

Направи :)

Отпечатайте и отдалечения URL адрес заедно с името:
git remote -v

Много добре! Всички сте готови да установите връзка с вашето отдалечено хранилище от вашата локална работна директория.

jobtracker и tasktracker в hadoop

Време е за публикуване

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

И така, вие четете това като „Изтласкване на разликата от ангажименти към произход от локален мастер“ .

Ако проверите вашия акаунт в GitHub, там трябва да се показват вашите местни ангажименти (данни) -



Проследяване на клонове

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

цветно кодирани клони


Нека по-нататък да създадем нов ангажимент в клона на ‘master’ и да проверим как го открива git-
Команда:git статус


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


Следователно всеки път има разлика в комитите между вашето локално и отдалечено хранилище в проследявания клон, Git ще ви уведоми.
Не е ли готино !!!

Как другите биха се свързали с дистанционното ви?

Това е парче торта, когато вие клон отдалечено хранилище !!!

И така, клонирането от отдалечено хранилище прави първо 2 неща, вашето отдалечена справка се добавя автоматично и втората по подразбиране клон е зададено на писта отдалечен клон автоматично.

Етап 1: Клонирайте отдалеченото репо като различен потребител-
Команда:git clone https://github.com/divyabhushan/learnRemotes.git developer2
cd разработчик2

Стъпка 2: Покажете дистанционното и неговия url
Команда:git remote -v


Стъпка 3: Избройте клоновете за проследяване
Команда:git клон -vv


Забавлението започва, когато ‘developer2’ ще започне собствената си работа и ще натисне към дистанционното.

Можете да се свържете и да допринесете за повече от едно дистанционно хранилище от a единичен проект .

Преглед на отдалечените клонове

Команда:git клон -r


Използвайте опцията ‘-a’, за да отпечатате както локални, така и отдалечени клонове, опитайте го във вашето местно репо, след като създадете няколко локални клона.

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

Първоначалната настройка
Developer2 решава да промени няколко неща като:
да се. Създайте нова „функция“ от последния ангажимент в клона „master“ и направете a нов ангажимент в клон ‘черта’
Команди:
git checkout -b функция
echo 'подобрения на функциите'> feature.txt
git add. && git commit -m 'подобрения на функциите'

б. Създайте различен клон ‘feature2’ от по-стар коммит на ‘master’ клон
Команди:
git checkout -b feature2 95651fb
ехо 'добавена е характеристика2'> характеристика2.txt
git add. && git commit -m 'Добавяне на промени във функция2'

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

Както трябва да сте забелязали, новите клонове не са настроени да проследяват отдалечените клонове.

Пренасочване на промени към дистанционно
Първо ми позволете да натисна клон ‘функция’ към дистанционно с флага ‘–set-upstream или -u’
Команда:git push -u функция за произход




На дистанционното ще бъде създаден нов клон, ако той вече не съществува !!!

В този момент избройте отдалечените клонове с командата: ‘git branch -r’




Друг начин за проследяване на отдалечен клон
Освен това, нека зададем клон ‘feature2’ също да сочи към същия клон ‘feature’ на дистанционното
Команда:git клон --set-upstream-to = origin / feature feature2



цветно кодиран клон


Кратък съвет: Можете да пропуснете името на местния клон, ако вече сте в този клон, с други думи, местният клон вече е отметен.

Още веднъж избройте клоновете в подробен режим, команда:git клон -vv



Забележете, както местните клонове ‘функция’, така и ‘характеристика2’ сочат към един и същ отдалечен клон ‘характеристика’.

Останете синхронизирани с дистанционното - вземете, дръпнете и натиснете

Нека разгледаме частта, където отдалечен клон което проследявате вече е актуализирано, какво тогава?
Простоgit статус„Или„git плащане„Или дори„git клон -vv‘Команда ни предупреждава с такова несъответствие-

как да намеря палиндром в java -



„Developer2“ първо трябва да актуализира локалните препратки и обекти („ git fetch ‘) И след това обединете отдалечените и локалните промени (‘ git merge ’).
Интересното е, че можете да замените тези две команди с една команда ‘git pull’.
Синтаксис:отивам дръпнете

–За непроследен клон
Синтаксис: git pull [:]
Команда:git pull характеристика за произход: feature2

–За проследен клон
Синтаксис: git pull
Команда:git pull




=> На практика на този етап може да възникнат конфликти, когато дръпнете от дистанционно за простота, генерирах промяна на ангажиране без конфликт.

След издърпване на „developer2“ (извличане и обединяване) най-новите промени от разстояние трябва да публикуват собствената му работа -
Команда:git push origin HEAD: функция
Забележка: ‘Feature’ на клона нагоре по веригата не съвпада с името на ‘feature2’ на локалния клон, трябва да го предоставите изрично



Напомняне : „HEAD“ е последният ангажимент в местния клон „feature2“.

Кога да използвам „git fetch“?
Понякога, когато имате нужда просто да актуализирате вашия референтни глави без действително изтегляне (изтегляне) от дистанционното.
Или когато отдалечените клонове са модифицирани / изтрити при актуализиране, ще трябва да изпълните командата за извличане с „- сини сливи‘Опция.
Като най-добра практика трябва да стартирате командата ‘git fetch’ всеки път, когато започнете да работите по локалния си репо.

Дистанционно управление

И накрая, бихте искали да извършите някои домакински задачи като преименуване или премахване на дистанционни и клонове.
Те са също толкова важни, колкото и предишните команди.

sort () в c ++

Преименувайте дистанционното

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


Изтриване на отдалечена препратка

Да предположим, че няма повече синхронизиране с отдалечено хранилище, вероятно ще изтриете препратката към указателя към него.
Това обаче няма да засегне отдалеченото хранилище и работата на други хора.

Синтаксис:git дистанционно премахване
Команда:git дистанционно премахване proj1


Ами ако сте задали локален клон за проследяване на клон от премахнатото хранилище ‘proj1’?
Е, твоята местен клон (а оттам и работата) е безопасно и все още присъства, само си справка за дистанционно проследяване и конфигурация настройките ще бъдат автоматично премахнато

Изтриване на отдалечен клон

Кажи ти случайно натисна си лично груба работа по a клон към дистанционното но все още не искам другите да го проверяват -
Премахнете клона ‘unfinishedWork’ от дистанционното ‘svn’-
Команда:git клон -vv# Избройте клоновете за дистанционно проследяване



Синтаксис:git push --delete
Команда:git push --delete svn unfinishedWork


Навиване

С това стигнахме до края на тази статия. Ако сте намерили това Урок ”Подходящо, вижте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение за сертифициране Edureka DevOps помага на обучаващите се да придобият опит в различни процеси и инструменти на DevOps като Puppet, Jenkins, Nagios и GIT за автоматизиране на множество стъпки в SDLC.