W ten sposób udostępniasz swoją pracę w zdalnym repozytorium git



Udostępniaj zespołowi swoją lokalną pracę w zdalnym repozytorium, naucz się też nim zarządzać, śledząc zmiany i bądź zsynchronizowany.

Twoja praca zwiększa wartość, gdy jest publikowana i udostępniana światu (lub Twojemu zespołowi) !!!

Pierwsze kroki

Udać się , jak wiesz, jest najpopularniejszym narzędziem do obsługi wersji używanym obecnie sklep , tor i wersja dowolny typ dane .
Niektóre z kluczowych cech git to prędkość , Rozpowszechniane Natura, bezpieczeństwo bezbolesne rozgałęzianie i łączenie wraz z współpraca pracować wśród wielu współpracowników.

Rozpoczynając naszą dyskusję od tego miejsca, skupmy się na tym, jak git Ci w tym pomaga współpracować i udostępniaj swoją pracę innym użytkownikom, aby wszyscy mogli jednocześnie pracować nad tym samym kodem, bez wzajemnego uszkadzania danych.
To jest, gdy koncepcja zdalne repozytoria wejdź w obraz.
Zakładam, że opanowałeś sztukę z twojego katalog roboczy (system plików) do Miejsce postoju i ostatecznie powierzając to swojemu repozytorium lokalne (Baza danych).

To inspiruje nas do wypychania naszych danych na wyższy poziom „zdalnego repozytorium”, aby opublikować je w zdalnym repozytorium.

Czy moje dane nie są już przechowywane w bazie danych git?

Tak to jest! Jednak, jak pokazano na poniższym diagramie, Twoje dane nadal znajdują się w lokalna baza danych po tobie popełnić i jeszcze nie udostępniono go swoim współpracownikom.
Architektura 4-warstwowa
Ten artykuł wypełnia lukę między pobraniem naszych danych z Twojego repozytorium lokalne i przenosząc go do następnej warstwy o nazwie zdalne repozytorium .





Co to jest zdalne repozytorium

Baza danych zgromadzonych informacji przechowywanych w lokalizacji, która może być udostępniony z kolegami z drużyny, dając im dostęp .
Jest idealnie hostowany na Chmura lub na serwer (lokalnie lub zdalnie) w Internecie lub sieci lokalnej.
Zdalne repozytorium jest takie samo jak lokalne repozytorium git, z wyjątkiem tego, że jest ogólnie deklarowane jako czyste repozytorium, aby nie mieć kopii roboczej takiej jak lokalne.
Ma to na celu ograniczenie bezpośrednich zmian dokonywanych w zdalnym repozytorium.

Gołe repozytorium koncepcja jest dodatkową zaletą przechowywania zdalnego repozytorium chroniony i być używane wyłącznie w celu udostępniania kodu członkom zespołu.
Osiąga się to poprzez zadeklarowanie zdalnego repozytorium jako nieosłoniętego za pomocą „--właśnie„Flaga w momencie inicjalizacji jako repozytorium git.
W ten sposób Twoje repozytorium jest tworzone za pomocą metadanych git lub innymi słowy obiektów git przechowywanych w samym ukrytym katalogu „.git” i żadna kopia robocza nie jest dostępna dla każdego, kto mógłby bezpośrednio dodawać dane.
Komenda:git init --bare.

Mając to na uwadze, idąc naprzód, zobaczymy więcej sposobów zarządzania zdalnym repozytorium i jak zsynchronizujemy naszą lokalną pracę z pilotem.



jak zainstalować serwer szefa kuchni

Utwórz zdalne repozytorium

Przede wszystkim musisz zdecydować, gdzie chcesz umieścić zdalne repozytorium.
Istnieje kilka popularnych repozytoriów hostingu git w chmurze, takich jak - GitLab , BitBucket , GitHub , Z konieczności i CloudForge by wymienić tylko kilka.
W tym poście rozważam GitHub, ponieważ jest to miejsce, w którym po raz pierwszy zacząłem prowadzić moje repozytoria git. Aby rozpocząć, wszystko, co musisz zrobić, to zalogować się na konto GitHub, a następnie utwórz nowe repozytorium , tworzy to adres URL wskazujący na to zdalne repozytorium.


Git obsługuje protokoły ssh, git, http i https w celu adresowania adresu URL repozytorium.

Alternatywnie możesz również umieścić swój projekt w innym miejscu, powiedz a Serwer Linux wykonując poniższe polecenia
cd $ HOME
mkdir remote_repo
cd remote_repo
git init --bare.

Podłącz pilota do komputera lokalnego

Dołączenie pilota do kopii roboczej oznacza po prostu utworzenie pliku wskaźnik obsługi odwołania do pilota lub po prostu nazywany „ zdalny program obsługi ”.
Przejdźmy do mojego projektu, który chcę opublikować-cd learnRemotes
Składnia:zdalne dodawanie git
Komenda:git remote dodaj pochodzenie https://github.com/divyabhushan/learnRemotes.git

'Pochodzenie jest domyślna nazwa odniesienia dla zdalnego programu obsługi. ” (zdalna nazwa musi być jakąś odpowiednią nazwą)
Zobaczmy, czy zadziałało, używając polecenia:git remote

Tak było :)

Wydrukuj zdalny adres URL wraz z nazwą:
git remote -v

Dobra robota! Wszystko gotowe do ustanowienia połączenia ze zdalnym repozytorium z lokalnego katalogu roboczego.

Czas na publikację

Składnia:git push --all --tags[-u | --set-upstream]
Komenda:git push origin master

Więc czytasz to jako „Wypchnij różnicę zatwierdzeń do pochodzenia od lokalnego mistrza” .

Jeśli sprawdzisz swoje konto GitHub, Twoje lokalne zatwierdzenia (dane) muszą być tam wyświetlone-



Oddziały śledzące

Tak więc pomyślnie opublikowałeś swoją pracę w zdalnym repozytorium.
Jednak ważne jest, aby ustawić lokalny oddział tor zmiany w zdalnym oddziale automatycznie.
Użyj '--set-upstreamlub-u„Flaga wraz z poleceniem„ git push ”
Komenda:git push -u wzorzec pochodzenia

gałęzie oznaczone kolorami


Utwórzmy dalej nowy commit w gałęzi „master” i sprawdźmy, jak git to wykrywa-
Komenda:status git


Pokaż gałęzie śledzenia w trybie szczegółowym
Komenda:git branch -vv


Dlatego za każdym razem, gdy istnieje różnica w zatwierdzeniach między lokalnym i zdalnym repozytorium w śledzonej gałęzi, Git poinformuje Cię o tym.
Czy to nie jest fajne !!!

Jak inni mogliby połączyć się z Twoim pilotem?

To bułka z masłem, kiedy ty klon zdalne repozytorium !!!

Tak więc klonowanie ze zdalnego repozytorium wykonuje najpierw dwie rzeczy, plik zdalne odniesienie jest dodawany automatycznie, a drugi jako domyślny gałąź jest ustawione na tor oddział zdalny automatycznie.

Krok 1: Sklonuj zdalne repozytorium jako inny użytkownik
Komenda:klon git https://github.com/divyabhushan/learnRemotes.git developer2
programista cd2

Krok 2: Pokaż pilota i jego adres URL
Komenda:git remote -v


Krok 3: Wymień gałęzie śledzenia
Komenda:git branch -vv


Zabawa zaczyna się, gdy „developer2” rozpocznie własną pracę i przejdzie do pilota.

Możesz się łączyć i współtworzyć więcej niż jeden pilot repozytorium z pliku pojedynczy projekt .

Wyświetl zdalne oddziały

Komenda:git branch -r


Użyj opcji „-a”, aby wydrukować zarówno oddziały lokalne, jak i zdalne, wypróbuj to w swoim lokalnym repozytorium po utworzeniu kilku oddziałów lokalnych.

Jak inni współdziałają z twoim pilotem?

Początkowe ustawienia
Developer2 postanawia zmienić kilka rzeczy, takich jak:
do. Stwórz nową „cechę” z ostatniego zatwierdzenia w gałęzi „master” i wykonaj plik nowe zatwierdzenie na gałęzi „cecha”
Polecenia:
funkcja git checkout -b
echo 'feature enhancements'> feature.txt
git add. && git commit -m 'ulepszenia funkcji'

b. Stwórz inna gałąź „feature2” ze starszego zatwierdzenia w gałęzi „master”
Polecenia:
git checkout -b feature2 95651fb
echo 'feature2 added'> feature2.txt
git add. && git commit -m 'Dodawanie zmian w funkcji 2'

Wizualizujmy gałęzie na komputerze Developer2 wraz z informacjami o śledzeniu:

Jak zapewne zauważyłeś, nowe gałęzie nie są skonfigurowane do śledzenia oddziałów zdalnych.

Przesyłanie zmian do pilota
Najpierw pozwolę sobie na przeniesienie gałęzi „feature” do zdalnego z flagą „–set-upstream lub -u”
Komenda:funkcja git push -u origin




Nowa gałąź zostanie utworzona na pilocie, jeśli jeszcze nie istnieje !!!

W tym momencie wypisz zdalne gałęzie za pomocą polecenia: „git branch -r”




Inny sposób śledzenia zdalnego oddziału
Ponadto ustawmy gałąź „feature2” tak, aby wskazywała na tę samą gałąź „feature” na pilocie
Komenda:git branch --set-upstream-to = origin / feature feature2



oddział oznaczony kolorem


Szybka wskazówka: możesz pominąć nazwę oddziału lokalnego, jeśli jesteś już w tym oddziale, innymi słowy, oddział lokalny jest już wyrejestrowany.

Wyświetl ponownie gałęzie w trybie szczegółowym, polecenie:git branch -vv

if instrukcja w kwerendzie sql



Zauważ, że zarówno „feature”, jak i „feature2” oddziałów lokalnych wskazują na tę samą „funkcję” oddziału zdalnego.

Pozostawanie w synchronizacji z pilotem - pobieranie, ciągnięcie i pchanie

Rozważmy część, w której oddział zdalny który śledzisz został już zaktualizowany, co wtedy?
Prosty 'status git„Lub a”git checkout„Lub nawet„git branch -vv„Dowództwo ostrzega nas o takim niedopasowaniu-



„Programista2” musi najpierw zaktualizować lokalne odniesienia i obiekty („ git fetch ‘), A następnie scal zmiany zdalne i lokalne („ git merge ”).
Co ciekawe, te dwie komendy można zastąpić pojedynczym poleceniem „git pull”.
Składnia:udać się Ciągnąć

–Dla gałęzi bez śledzenia
Składnia: git pull [:]
Komenda:funkcja pochodzenia git pull: feature2

–Dla gałęzi śledzonej
Składnia: git pull
Komenda:git pull




=> W praktyce na tym etapie mogą pojawić się konflikty, gdy dla uproszczenia pobierasz ze zdalnego programu. Wygenerowałem bezkonfliktową zmianę zatwierdzenia.

Po ściągnięciu „programisty2” (pobraniu i scaleniu) ostatnie zdalne zmiany muszą teraz opublikować własną pracę-
Komenda:git push origin HEAD: feature
Uwaga: „funkcja” gałęzi upstream nie odpowiada nazwie „feature2” oddziału lokalnego, należy ją wyraźnie podać



Przypomnienie : „HEAD” jest najnowszym zatwierdzeniem w lokalnej gałęzi „feature2”.

Kiedy używać funkcji „git fetch”?
Czasami musisz po prostu zaktualizować plik głowice referencyjne bez faktycznego pobierania (ściągania) z pilota.
Lub gdy zdalne gałęzie zostaną zmodyfikowane / usunięte przy aktualizacji, będziesz musiał uruchomić polecenie pobierania z opcją „--suszona śliwka' opcja.
Najlepszym rozwiązaniem jest uruchamianie polecenia „git fetch” za każdym razem, gdy rozpoczynasz pracę nad lokalnym repozytorium.

Zdalne zarządzanie

Na koniec chciałbyś wykonać pewne czynności porządkowe, takie jak zmiana nazwy lub usuwanie pilotów i oddziałów.
Są one tak samo ważne, jak poprzednie polecenia.

Zmień nazwę pilota

Składnia:git remote rename
Komenda:git remote zmień nazwę snv_repo svn
Na przykład rozważmy menedżera projektu związanego z 3 projektami


Usuń zdalne odniesienie

Załóżmy, że nie synchronizujesz się już ze zdalnym repozytorium, prawdopodobnie usuniesz odniesienie wskaźnika do niego.
Nie wpłynie to jednak na zdalne repozytorium i pracę innych osób.

Składnia:zdalne usuwanie git
Komenda:git remote remove proj1


A co by było, gdybyś miał ustawiony lokalny oddział do śledzenia gałęzi z usuniętego repozytorium „proj1”?
Cóż, twój oddział lokalny (i stąd praca) jest bezpieczny i nadal obecny, tylko jego odniesienie do zdalnego śledzenia i konfiguracja ustawienia będą automatycznie usuwane

Usuń oddział zdalny

Powiedz ty przypadkowo pchnął twój osobisty ciężka praca na gałąź do pilota ale nie chcę, aby inni jeszcze to sprawdzali -
Usuń gałąź „unfinishedWork” ze zdalnego serwera „svn” -
Komenda:git branch -vv# Wymień gałęzie zdalnego śledzenia



Składnia:git push --delete
Komenda:git push --delete svn unfinishedWork


java różnica między rzutem a rzutami

Likwidacja

Tym samym dochodzimy do końca tego artykułu. Jeśli znalazłeś to „ Instruktaż ' istotnych, Sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie Edureka DevOps Certification Training pomaga uczniom zdobyć wiedzę na temat różnych procesów DevOps i narzędzi, takich jak Puppet, Jenkins, Nagios i GIT, do automatyzacji wielu kroków w SDLC.