Приготвяме се да започнем
Отивам , както знаете, е най-популярният инструмент за управление на версиите, използван днес магазин , писта и версия всякакъв вид данни .
Някои от ключовите характеристики на git са неговите скорост , разпределени природа, сигурност , безболезнено разклоняване и сливане заедно с съвместни работа между множество сътрудници.
Започвайки нашата дискусия от тук, нека се съсредоточим върху това как git ви помага сътрудничат и споделете работата си с връстниците, така че всички да могат да работят по един и същ код едновременно, без да повреждат данните на другия.
Това е мястото, където концепцията за отдалечени хранилища влезте в картината.
Предполагам, че сте усвоили изкуството на от твой работна директория (файлова система) към Постановка и накрая да го ангажирате с вашия локално хранилище (база данни).
Това ни вдъхновява да изтласкаме данните си към следващото ниво „Отдалечено репо“, за да ги публикуваме в отдалечено хранилище.
Дали данните ми вече не се съхраняват в git база данни?
Да, така е! Както е посочено на диаграмата по-долу, вашите данни все още са в локална база данни след теб ангажирам все още не е споделено с колегите ви.
Тази статия запълва празнината между събирането на нашите данни от вашия локално хранилище и го пренася на следващия слой, наречен отдалечено хранилище .
Какво е отдалечено хранилище
База данни със събрана информация, съхранявана на място, което може да бъде споделени с вашите съотборници, като им ги дадете достъп .
Той е идеално домакин на облак или на 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.