Close

Poznaj środowisko Git z rozwiązaniem Bitbucket Cloud

Cel

Poznaj podstawy środowiska Git dzięki kosmicznemu samouczkowi.

Opis zadania

Twoim zadaniem jest poznanie zasad środowiska Git poprzez ukończenie samouczka i odnalezienie wszystkich stacji kosmicznych zespołu. Samouczek dotyczy następujących poleceń:

  • git clone, git config, git add, git status, git commit, git push, git pull, git branch, git checkout oraz git merge

Czas

30 minut

Publiczność

Dopiero zaczynasz przygodę z Git i Bitbucket Cloud


Utwórz repozytorium Git


Jako nasz nowy administrator stacji kosmicznej w Bitbucket musisz dbać o należytą organizację swojej pracy. Gdy tworzysz pliki na potrzeby swojej stacji kosmicznej, musisz trzymać je w jednym miejscu i udostępniać je kolegom z zespołu, bez względu na to, z którego zakamarka wszechświata pracują. W Bitbucket oznacza to dodawanie wszystkiego do repozytorium. Utwórzmy je zatem!

Kilka ciekawostek dotyczących repozytoriów

  • Masz dostęp do wszystkich plików w lokalnym repozytorium, niezależnie od tego, czy pracujesz nad jednym, czy wieloma plikami.
  • Możesz przeglądać repozytoria publiczne bez konta Bitbucket, jeśli masz adres URL tego repozytorium.
  • Każde repozytorium należy do konta użytkownika lub zespołu. W przypadku konta użytkownika ten użytkownik jest właścicielem repozytorium. + W przypadku zespołu właścicielem jest dany zespół.
  • Właściciel repozytorium jest jedyną osobą, która może je usunąć. Jeśli repozytorium należy do zespołu, repozytorium może usunąć administrator.
  • Projekt tworzenia kodu może składać się z wielu repozytoriów na wielu kontach, ale może być również jednym repozytorium umieszczonym na pojedynczym koncie.
  • Każde repozytorium może mieć rozmiar maksymalnie 2 GB, ale zalecamy, aby nie było większe niż 1 GB.
Logo Git
materiały pokrewne

Polecenia Git

Logo Bitbucket
POZNAJ ROZWIĄZANIE

Konfigurowanie repozytorium

Krok 1. Utwórz repozytorium

Początkowo repozytorium utworzone w Bitbucket będzie puste i nie będzie zawierało żadnego kodu. Nie jest to problem, ponieważ wkrótce zaczniesz dodawać do niego pliki. To repozytorium Bitbucket będzie centralnym repozytorium Twoich plików, co oznacza, że inni użytkownicy mogą uzyskać do niego dostęp po otrzymaniu uprawnień. Po utworzeniu repozytorium skopiujesz jego wersję do swojego systemu lokalnego — w ten sposób możesz tę wersję zaktualizować z jednego repozytorium, a następnie przenieść te zmiany do drugiego.

Z centralnego repozytorium git do lokalnego repozytorium git

Aby utworzyć repozytorium, wykonaj następujące czynności:

1. W Bitbucket kliknij ikonę + na globalnym pasku bocznym i wybierz opcję Repository (Repozytorium).

Wybierz repozytorium z bocznego paska nawigacji w Bitbucket

W Bitbucket zostanie wyświetlona strona Create a new repository (Utwórz nowe repozytorium). Poświęć trochę czasu na przejrzenie zawartości okna dialogowego. Później możesz zmienić wszystko, co wprowadzisz na tej stronie, z wyjątkiem opcji Repository type (Typ repozytorium).

Tworzenie nowego okna konfiguracji repozytorium w Bitbucket

2. Wprowadź BitbucketStationSupplies w polu Name (Nazwa). Bitbucket używa tej nazwy w adresie URL repozytorium. Przykładowo, jeśli użytkownik the_best ma repozytorium o nazwie awesome_repo, adres URL tego repozytorium to https://bitbucket.org/the_best/awesome_repo.

3. W obszarze Access level (Poziom dostępu) pozostaw zaznaczone pole This is a private repository (To jest prywatne repozytorium). Prywatne repozytorium jest widoczne tylko dla Ciebie i osób z dostępem. Jeśli to pole nie jest zaznaczone, każdy może zobaczyć Twoje repozytorium.

4. Wybierz Git dla opcji Repository type (Typ repozytorium). Pamiętaj, że nie możesz zmienić typu repozytorium po kliknięciu przycisku Create repository (Utwórz repozytorium).

5. Kliknij przycisk Create repository (Utwórz repozytorium). Bitbucket utworzy repozytorium i wyświetli dla niego stronę Overview (Przegląd).

Krok 2. Poznaj nowe repozytorium

Poświęć trochę czasu na poznanie właśnie utworzonego repozytorium. Zapewne jesteś teraz na stronie Overview (Przegląd) repozytorium:

Ekran przeglądu repozytorium w Bitbucket

Kliknij + na pasku bocznym w celu wyświetlenia wspólnych działań dotyczących repozytorium. Kliknij elementy na pasku bocznym nawigacji, aby zobaczyć, co kryje się za każdym z nich, w tym Settings (Ustawienia), które umożliwiają aktualizowanie szczegółów repozytorium i innych ustawień. Aby wyświetlić skróty umożliwiające poruszanie się po tych elementach, naciśnij klawisz ?

Po kliknięciu opcji Commits (Commity) na pasku bocznym zobaczysz, że nie masz żadnych commitów, ponieważ nie utworzono żadnej zawartości dla repozytorium. Twoje repozytorium jest prywatne i nikogo do niego nie zaproszono, więc jako właściciel repozytorium jesteś jedyną osobą, która może teraz tworzyć lub edytować zawartość repozytorium.

Skopiuj repozytorium Git i dodaj pliki


Teraz, gdy masz miejsce do dodawania i udostępniania plików stacji kosmicznej, musisz mieć możliwość dotarcia do nich z systemu lokalnego. Aby to skonfigurować, skopiuj repozytorium Bitbucket do swojego systemu. W Git kopiowanie repozytorium nazywane jest „klonowaniem”. Kiedy klonujesz repozytorium, tworzysz połączenie między serwerem Bitbucket (nazywanym w Git „źródłowym”) a systemem lokalnym.

Klonowanie z serwera Bitbucket „origin” do „systemu lokalnego”

Krok 1. Sklonuj repozytorium do systemu lokalnego

Otwórz przeglądarkę i okno terminala z pulpitu. Po otwarciu okna terminala wykonaj następujące czynności:

1. Przejdź do katalogu głównego (~).

 $ cd ~

Po pewnym czasie korzystania z Bitbucket prawdopodobnie będziesz pracować w wielu repozytoriach. Z tego powodu dobrym pomysłem jest utworzenie katalogu zawierającego wszystkie repozytoria.

2. Utwórz katalog na swoje repozytoria.

 $ mkdir repos

3. Z poziomu terminala możesz zmienić katalog, w którym chcesz pracować, na nowy katalog repos.

 $ cd ~/repos

4. W Bitbucket przejdź do repozytorium BitbucketStationLocations.

5. Kliknij ikonę + na globalnym pasku bocznym i wybierz opcję Clone this repository (Klonuj to repozytorium).

W Bitbucket wyświetli się okno dialogowe klonowania. Domyślnie okno dialogowe klonowania ustawia protokół na HTTPS lub SSH, w zależności od ustawień użytkownika. Na potrzeby tego samouczka nie zmieniaj domyślnego protokołu.

Klonowanie repozytorium w Bitbucket

6. Skopiuj wyróżnione polecenie klonowania.

7. W oknie terminala wklej polecenie skopiowane z Bitbucket i naciśnij klawisz Return.

8. Wprowadź hasło Bitbucket, gdy terminal o nie poprosi. W przypadku utworzenia konta poprzez połączenie z Google użyj swojego hasła do tego konta.

  • Jeśli wystąpi błąd hasła w systemie Windows:
    • W niektórych wersjach systemu operacyjnego Microsoft Windows i Git może pojawić się błąd podobny do tego w poniższym przykładzie.

      Przykład błędu hasła podczas klonowania w systemie Windows:
$ git clone

https://emmap1@bitbucket.org/emmap1/bitbucketstationlocations.git 

Cloning into 'bitbucketspacestation'...

fatal: could not read

Password for 'https://emmap1@bitbucket.org': No such file or directory
  • Jeśli pojawi się ten błąd, w wierszu polecenia wprowadź następujące polecenie:
  $ git config --global core.askpass
  • Następnie wróć do kroku 4 i powtórz proces klonowania. Agent bash powinien teraz wyświetlić monit o podanie hasła. Jednokrotne wykonanie tej czynności powinno być wystarczające.

W tym momencie okno terminala powinno wyglądać podobnie do przedstawionego poniżej:

$ cd ~/repos

$ git clone https://emmap1@bitbucket.org/emmap1/bitbucketstationlocations.git
Cloning into 'bitbucketstationlocations'...
Password
warning: You appear to have cloned an empty repository.
  • Wiesz, że Twoje repozytorium jest puste, prawda? Pamiętaj, że nie zostały dodane żadne pliki źródłowe.

9. Wyświetl zawartość katalogu repos — powinien być w nim widoczny Twój katalog bitbucketstationlocations.

$ ls

Gratulacje! Udało Ci się sklonować repozytorium do lokalnego systemu.

Krok 2. Dodaj plik do lokalnego repozytorium i umieść go w Bitbucket

Repozytorium jest już w Twoim systemie lokalnym, nadszedł więc czas wziąć się do pracy. Teraz musisz zacząć śledzić wszystkie lokalizacje stacji kosmicznych. W tym celu utwórzmy plik dotyczący wszystkich lokalizacji.

1. Otwórz okno terminala i przejdź do najwyższego poziomu repozytorium lokalnego.

 $ cd ~/repos/bitbucketstationlocations/

2. Wprowadź poniższy wiersz w oknie terminala, aby utworzyć nowy plik z zawartością.

$ echo "Earth's Moon" >> locations.txt

Jeśli wiersz polecenia nie zwróci żadnego komunikatu, oznacza to, że plik został utworzony poprawnie.

3. Sprawdź status swojego lokalnego repozytorium. Polecenie git status pozwala uzyskać informacje o postępie projektu w porównaniu z repozytorium Bitbucket.

Git wie, że utworzono nowy plik, i widoczny będzie podobny ekran:

$ git status 
 On branch main
 Initial commit
 Untracked files:
   (use "git add <file>..." to include in what will be committed)
     locations.txt
 nothing added to commit but untracked files present (use "git add" to track)

Plik jest nieśledzony, co oznacza, że Git widzi plik, który nie jest częścią poprzedniego commita. Dane o statusie pokazują również następny krok: dodanie pliku.

4. Poleć systemowi Git, aby śledził nowy plik locations.txt za pomocą polecenia git add. Podobnie jak podczas tworzenia pliku, polecenie git add nie zwraca żadnego komunikatu, jeśli zostanie wprowadzone poprawnie.

$ git add locations.txt

Polecenie git add przenosi zmiany z katalogu roboczego do przechowalni Git. Przechowalnia to miejsce, w którym można przygotować migawkę zmian przed zatwierdzeniem ich do oficjalnej historii.

Klonowanie z katalogu roboczego do przechowalni

5. Sprawdź status pliku.

 $ git status 
 On branch main
 Initial commit
 Changes to be committed:
   (use "git rm --cached <file>..." to unstage)
     new file: locations.txt

Teraz widać, że nowy plik został dodany do przechowalni i możesz wykonać jego commit, gdy uznasz, że wszystko gotowe. Polecenie git status wyświetla stan katalogu roboczego i migawki w przechowalni.

6. Wydaj polecenie git commit z komunikatem commita, jak pokazano w następnym wierszu. Wartość -m wskazuje, że po poleceniu następuje komunikat commit.

$ git commit -m 'Initial commit' 
 [main (root-commit) fedc3d3] Initial commit
  1 file changed, 1 insertion(+)
  create mode 100644 locations.txt

Polecenie git commit wykonuje commit migawki z przechowalni do historii projektu. W połączeniu z poleceniem git add proces ten definiuje podstawowy przepływ pracy dla wszystkich użytkowników Git.

Klonowanie z przechowalni i do historii commitów

Do tej pory wszystkie wprowadzone zmiany pozostają w systemie lokalnym i są niewidoczne w repozytorium Bitbucket, dopóki ich nie wypchniesz.

  • Dowiedz się więcej o Git i repozytoriach zdalnych
    • Zdolność Git do komunikowania się ze zdalnymi repozytoriami (w Twoim przypadku zdalnym repozytorium jest Bitbucket) jest podstawą każdego przepływu pracy opartego na Git.
    • Model współpracy Git przydziela każdemu deweloperowi własną kopię repozytorium, wraz z własną lokalną historią i strukturą gałęzi. Użytkownicy zazwyczaj muszą udostępniać serię commitów zamiast pojedynczego zestawu zmian. Zamiast commita zestawu zmian z kopii roboczej do centralnego repozytorium, Git umożliwia udostępnianie całych gałęzi między repozytoriami.
Trzy repozytoria ze wskazującymi je wzajemnie strzałkami
  • Zarządzasz połączeniami z innymi repozytoriami i publikujesz historię lokalną, „wypychając” gałęzie do innych repozytoriów. Możesz zobaczyć wkład innych użytkowników poprzez „ściąganie” gałęzi do lokalnego repozytorium.

7. Wróć do okna lokalnego terminala i wyślij objęte commitem zmiany do Bitbucket za pomocą polecenia git push origin main. Polecenie to określa, że wypychasz zmiany do gałęzi main (gałęzi w Bitbucket) na źródłowym serwerze Bitbucket.

Powinna się pojawić podobna zawartość jak w poniższej odpowiedzi:

 $ git push origin main 
 Counting objects: 3, done.
 Writing objects: 100% (3/3), 253 bytes | 0 bytes/s, done.
 Total 3 (delta 0), reused 0 (delta 0) To https://emmap1@bitbucket.org/emmap1/bitbucketstationlocations.git
  * [new branch] main -> main
 Branch main set up to track remote branch main from origin.

Twoje commity znajdują się teraz w zdalnym repozytorium (na serwerze źródłowym).

Klonowanie z systemu lokalnego do serwera Bitbucket „origin”

8. Przejdź do repozytorium BitbucketStationLocations w Bitbucket.

9. Jeśli klikniesz Commits (Commity) na pasku bocznym, zobaczysz jeden commit w repozytorium. Bitbucket łączy wszystkie zmiany dokonane w commicie i je wyświetla. Widać, że w kolumnie Author (Autor) widoczna jest wartość użyta podczas konfigurowania globalnego pliku Git ( ~/.gitconfig).
Jeśli klikniesz Source (Źródło) na pasku bocznym, zobaczysz, że masz jeden plik źródłowy w repozytorium, czyli plik locations.txt dodany przed chwilą.

Źródło commitów Git w Bitbucket

Pamiętasz, jak wyglądało repozytorium po jego utworzeniu? Teraz zapewne wygląda nieco inaczej.

Ściągnij zmiany z repozytorium Git w Bitbucket Cloud


Następnie na liście działań administratora stacji kosmicznej potrzebny jest plik zawierający szczegółowe informacje o lokalizacjach. Ponieważ w tej chwili nie masz wielu lokalizacji, dodasz je bezpośrednio z Bitbucket.

Krok 1. Utwórz plik w Bitbucket

Aby dodać nowy plik z lokalizacjami, wykonaj następujące czynności:

1. W repozytorium BitbucketStationLocations kliknij Source (Źródło), aby otworzyć katalog źródłowy. Zauważ, że masz tylko jeden plik, locations.txt w swoim katalogu.

Ekran BitBucketStationSupplies w Bitbucket

A. Strona źródłowa: kliknij łącze, aby otworzyć tę stronę.
B. Wybór gałęzi: wybierz gałąź, którą chcesz wyświetlić.
C. Przycisk More options (Więcej opcji): kliknij, aby otworzyć menu z większą liczbą opcji, takich jak dodawanie pliku.D. Obszar pliku źródłowego: wyświetl katalog plików w Bitbucket.

2. Na stronie Source (Źródło) kliknij przycisk More options (Więcej opcji) w prawym górnym rogu i wybierz Add file (Dodaj plik) z menu. Przycisk More options (Więcej opcji) pojawia się tylko po dodaniu przynajmniej jednego pliku do repozytorium.

Otworzy się strona służąca do utworzenia nowego pliku, jak pokazano na poniższej ilustracji.

Tworzenie pliku w Bitbucket

A. Gałąź z nowym plikiem: zmień, jeśli chcesz dodać plik do innej gałęzi.B. Obszar nowego pliku: tutaj możesz dodać zawartość nowego pliku.

3. Wpisz stationlocations w polu filename (nazwa pliku).

4. Wybierz HTML z listy Syntax mode (Tryb składni).

5. Dodaj następujący kod HTML do pola tekstowego:

 <p>Bitbucket has the following space stations:</p>
 <p>
     <b>Earth's Moon</b><br>
     Headquarters
 </p>

6. Kliknij Commit (Zatwierdź). Pojawi się pole Commit message (Komunikat commita) z komunikatem: stationlocations created online with Bitbucket (utworzono plik stationlocations online za pomocą Bitbucket).

7. Kliknij Commit (Zatwierdź) w polu komunikatu.

Masz teraz nowy plik w Bitbucket! Zostanie otwarta strona ze szczegółami dotyczącymi commita, na której możesz zobaczyć właśnie wprowadzoną zmianę:

Strona ze szczegółami commitów w Bitbucket

Aby zobaczyć listę commitów wprowadzonych do tej pory, kliknij Commits (Commity) na pasku bocznym.

Krok 2. Ściągnij zmiany z repozytorium zdalnego

Teraz musimy przekazać nowy plik do repozytorium lokalnego. Proces jest dość prosty. W zasadzie jest to odwrócenie operacji przekazania wykonanej w celu pobrania pliku locations.txt do Bitbucket.

Aby ściągnąć plik do lokalnego repozytorium, wykonaj następujące czynności:

1. Otwórz okno terminala i przejdź do najwyższego poziomu repozytorium lokalnego.

 $ cd ~/repos/bitbucketstationlocations/

2. Wprowadź polecenie git pull --all, aby ściągnąć wszystkie zmiany z Bitbucket. (W bardziej złożonych przepływach pracy gałęzi ściąganie i scalanie wszystkich zmian może nie być odpowiednim rozwiązaniem). Wprowadź hasło Bitbucket, gdy terminal o nie poprosi. Terminal powinien wyglądać podobnie jak na poniższym przykładzie

$ git pull --all
 Fetching origin
 remote: Counting objects: 3, done.
 remote: Compressing objects: 100% (3/3), done.
 remote: Total 3 (delta 0), reused 0 (delta 0)
 Unpacking objects: 100% (3/3), done.
 From https://bitbucket.org/emmap1/bitbucketstationlocations
    fe5a280..fcbeeb0 main -> origin/main
 Updating fe5a280..fcbeeb0
 Fast-forward
  stationlocations | 5 ++++++++++++++
  1 file changed, 5 insertions(+)
  create mode 100644 stationlocations

Polecenie git pull pozwala scalić plik ze zdalnego repozytorium (Bitbucket) z repozytorium lokalnym za pomocą jednego polecenia.

Klonowanie z serwera Bitbucket „origin” do systemu lokalnego

3. Przejdź do folderu repozytorium w systemie lokalnym, aby zobaczyć właśnie dodany plik.

Doskonale! Oprócz dodania dwóch plików dotyczących lokalizacji stacji kosmicznej ukończyliśmy już podstawowy przepływ pracy Git (klonowanie, dodawanie, zatwierdzanie, wypychanie i ściąganie) między Bitbucket a systemem lokalnym.

Scal plik za pomocą gałęzi Git


Pełnienie funkcji administratora stacji kosmicznej wiąże się z pewnymi obowiązkami. Czasami trzeba przetrzymywać pewne informacje w bezpiecznym miejscu, zwłaszcza podczas tworzenia mapy nowych lokalizacji w Układzie Słonecznym. Gałęzie szkoleniowe umożliwiają aktualizację plików i udostępnianie informacji dopiero w odpowiednim czasie.

Gałęzie są najskuteczniejsze, gdy pracujesz w zespole. Możesz pracować nad własną częścią projektu z własnej gałęzi, pobierać aktualizacje z Bitbucket, a następnie scalić całą pracę z główną gałęzią, gdy będzie gotowa. Nasza dokumentacja zawiera szczegółowe informacje, dlaczego warto używać gałęzi.

Gałąź reprezentuje niezależną linię rozwoju w repozytorium. Można ją traktować jako zupełnie nowy katalog roboczy, przechowalnię i historię projektu. Zanim utworzysz nowe gałęzie, automatycznie zaczynasz od gałęzi main. Ten schemat pokazuje przykładową gałąź main i drugą gałąź z aktualizacją poprawiającą błędy.

Gałąź z naprawianiem błędów i gałąź main

Krok 1. Utwórz gałąź i wprowadź zmianę

Utwórz gałąź, w której możesz dodać przyszłe plany stacji kosmicznej, w przypadku których nie chcesz jeszcze wykonywać commita. Gdy przyjdzie czas na udostępnienie planów wszystkim, możesz scalić zmiany do repozytorium Bitbucket, a następnie usunąć niepotrzebną gałąź.

Trzeba jednak pamiętać, że gałęzie są tylko odnośnikami do commitów. Podczas tworzenia gałęzi Git tworzy jedynie nowy odnośnik, nie zaś całkowicie nowy zestaw plików lub folderów. Zanim zaczniesz, repozytorium wygląda mniej więcej tak:

Cztery połączone kropki, pierwsza z prawej oznaczona jako „main”

Aby utworzyć gałąź, wykonaj następujące czynności:

1. Otwórz okno terminala i przejdź do najwyższego poziomu repozytorium lokalnego za pomocą następującego polecenia:

cd ~/repos/bitbucketstationlocations/

2. Utwórz gałąź z poziomu okna terminala.

$ git branch future-plans

To polecenie tworzy gałąź, ale nie przełącza Cię do tej gałęzi, więc Twoje repozytorium wygląda podobnie jak poniżej:

Cztery połączone kropki, pierwsza z prawej oznaczona jako „main” i „future-plans”

Historia repozytorium nie zmienia się. Pojawia się tylko nowy odnośnik do bieżącej gałęzi. Aby rozpocząć pracę nad nową gałęzią, musisz wyewidencjonować gałąź, której chcesz użyć.

3. Wyewidencjonuj właśnie utworzoną gałąź, aby zacząć z niej korzystać.

$ git checkout future-plans 
Switched to branch 'future-plans'

Polecenie git checkout współpracuje ściśle z poleceniem git branch. Ponieważ tworzysz gałąź w celu pracy nad czymś nowym, za każdym razem, gdy tworzysz nową gałąź (za pomocą polecenia git branch), musisz ją wyewidencjonować (używając polecenia git checkout), jeśli zamierzasz z niej korzystać. Po wyewidencjonowaniu nowej gałęzi Twój przepływ pracy Git wygląda mniej więcej tak:

Przyszłe plany rozgałęziające się od gałęzi main

4. Wyszukaj folder bitbucketstationlocations w systemie lokalnym i go otwórz. Jak zobaczysz, pojawienie się nowej gałęzi nie spowodowało utworzenia w katalogu żadnych dodatkowych plików ani folderów.

5. Otwórz plik stationlocations w edytorze tekstowym.

6. Dokonaj zmian w pliku, dodając kolejną lokalizację stacji:

<p>Bitbucket has the following space stations:</p>
<p>
   <b>Earth's Moon</b><br>
   Headquarters
</p>
<p>
   <b>Mars</b><br>
   Recreation Department
</p>

7. Zapisz i zamknij plik.

8. W oknie terminala wprowadź polecenie git status. Widok powinien być mniej więcej następujący:

$ git status 
On branch future-plans
Changes not staged for commit:
 (use "git add <file>..." to update what will be committed)
 (use "git checkout -- <file>..." to discard changes in working directory)
   modified: stationlocations
no changes added to commit (use "git add" and/or "git commit -a")

Widzisz wiersz On branch future-plans? Jeśli wcześniej wprowadzono polecenie git status, wiersz znajdował się w obszarze branch main, ponieważ istniał tylko jeden obszar branch main. Przed przeniesieniem zmiany do przechowalni lub jej zatwierdzeniem należy zawsze sprawdzić ten wiersz, aby upewnić się, że wyewidencjonowana jest gałąź, w której chcesz wprowadzić zmianę.

9. Przenieś plik do przechowalni.

$ git add stationlocations

10. W oknie terminala wpisz polecenie git commit, jak na poniższym rysunku:

$ git commit stationlocations -m 'making a change in a branch' 
[future-plans e3b7732] making a change in a branch
1 file changed, 4 insertions(+)

Z ostatnim commitem repozytorium wygląda mniej więcej tak:

Klonowanie future-plans do main

Teraz czas scalić wprowadzoną właśnie zmianę z powrotem z gałęzią main.

Krok 2. Scal gałąź: scalanie fast-forward

Twoja stacja kosmiczna rozrasta się i nadszedł czas na uroczyste otwarcie oddziału na Marsie. Teraz, gdy twoje plany urzeczywistniają się, możesz scalić gałąź future-plans z gałęzią main w systemie lokalnym.

Ponieważ utworzono tylko jedną gałąź i wprowadzono jedną zmianę, do scalenia należy użyć metody fast-forward. Możesz wykonać scalanie fast-forward, ponieważ masz prostą ścieżkę od bieżącej końcówki gałęzi do gałęzi docelowej. Zamiast „faktycznego” scalenia gałęzi, Git po prostu integruje historie, przenosząc (metoda „fast-forward”) końcówkę bieżącej gałęzi do końcówki gałęzi docelowej. W ten sposób można skutecznie połączyć historie, ponieważ wszystkie commity osiągalne z poziomu gałęzi docelowej są teraz dostępne za pośrednictwem gałęzi bieżącej.

Łączenie gałęzi future-plans i main

Ten przepływ pracy z gałęziami jest częsty w przypadku krótkotrwałych gałęzi tematycznych z mniejszymi zmianami, ale nie tak powszechny w przypadku bardziej czasochłonnych funkcji.

Aby ukończyć scalanie fast-forward, wykonaj następujące czynności:

1. Otwórz okno terminala i przejdź do najwyższego poziomu repozytorium lokalnego.

 $ cd ~/repos/bitbucketstationlocations/

2. Wpisz polecenie git status, aby upewnić się, że wszystkie zmiany zostały objęte commitem i dowiedzieć się, która gałąź została wyewidencjonowana.

$ git status 
On branch future-plans
nothing to commit, working directory clean

3. Przełącz się na gałąź main.

$ git checkout main 
Switched to branch 'main'
Your branch is up-to-date with 'origin/main'.

4. Scal zmiany z gałęzi future-plans z gałęzią main. Widok powinien być mniej więcej następujący:

$ git merge future-plans 
Updating fcbeeb0..e3b7732
Fast-forward
stationlocations | 4 ++++
1 file changed, 4 insertions(+)

Zasadniczo wskaźnik został przesunięty dla gałęzi main do bieżącego wskaźnika HEAD, a Twoje repozytorium wygląda mniej więcej jak efekt scalenia fast-forward przedstawionego powyżej.

5. Ponieważ nie planujesz już używać future-plans , możesz usunąć gałąź.

$ git branch -d future-plans 
Deleted branch future-plans (was e3b7732).

Po usunięciu future-plans nadal można uzyskać dostęp do gałęzi z obszaru main za pomocą identyfikatora commita. Na przykład jeśli chcesz cofnąć zmiany dodane z future-plans, użyj właśnie otrzymanego identyfikatora commita, aby wrócić do tej gałęzi.

6. Wprowadź polecenie git status, aby zobaczyć wyniki scalenia, które pokazują, że Twoje repozytorium lokalne jest bardziej aktualne od repozytorium zdalnego. Widok powinien być mniej więcej następujący:

$ git status 
On branch main
Your branch is ahead of 'origin/main' by 1 commit.
 (use "git push" to publish your local commits)
nothing to commit, working directory clean

Oto operacje wykonane przez Ciebie do tej pory:

  • Utworzenie gałęzi i wyewidencjonowanie jej
  • Wprowadzenie zmiany w nowej gałęzi
  • Wykonanie commita zmiany do nowej gałęzi
  • Zintegrowanie zmiany z powrotem z gałęzią main
  • Usunięcie gałęzi, której już nie używasz.

Następnie musimy wypchnąć całą tę pracę z powrotem do Bitbucket, będącego Twoim zdalnym repozytorium.

Krok 3. Wypchnij zmianę do Bitbucket

Chcesz, aby wszyscy mogli zobaczyć lokalizację nowej stacji kosmicznej. W tym celu możesz wypchnąć bieżący stan lokalnego repozytorium do Bitbucket.

Na tym diagramie pokazano, co się dzieje, gdy w lokalnym repozytorium są zmiany, których nie ma w repozytorium centralnym, gdy wypchniesz te zmiany do Bitbucket.

Zmiany odzwierciedlone zarówno w repozytorium lokalnym, jak i głównym

Oto jak wypchnąć zmiany do zdalnego repozytorium:

1. W katalogu repozytorium w oknie terminala wprowadź polecenie git push origin main, aby wypchnąć zmiany. Wynik powinien być mniej więcej następujący:

$ git push origin main
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 401 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://emmap1@bitbucket.org/emmap1/bitbucketstationlocations.git
  fcbeeb0..e3b7732 main -> main

2. Kliknij stronę Overview (Przegląd) w repozytorium Bitbucket. Zobaczysz przekazany plik na liście Recent Activity (Ostatnia aktywność).

3. Kliknij Commits (Commity). Zobaczysz błąd popełniony w systemie lokalnym. Zauważ, że zmiana zachowuje ten sam identyfikator commita, który miała w systemie lokalnym.

Strumień ostatnich aktywności w zakresie commitów w Bitbucket

Możesz również zobaczyć, że linia po lewej stronie listy commitów pokazuje prostą ścieżkę bez żadnych gałęzi. To dlatego, że gałąź future-plans nie wchodziła nigdy w interakcję ze zdalnym repozytorium, tylko ze zmianą, którą stworzyliśmy i zatwierdziliśmy.

4. Kliknij Branches (Gałęzie). Jak zobaczysz, strona nie zawiera żadnych rekordów gałęzi.

5. Kliknij Source (Źródło), a następnie plik stationlocations. Możesz zobaczyć, że ostatnia zmiana w pliku ma identyfikator commita, który właśnie został wypchnięty.

6. Kliknij listę historii plików, aby zobaczyć zmiany zatwierdzone dla tego pliku, które będą wyglądać podobnie jak na poniższej ilustracji.

Lista historii plików w Bitbucket

Gotowe!

Nie masz pewności, czy zapamiętasz wszystkie omówione polecenia Git? To nie problem. Dodaj naszą stronę z podstawowymi poleceniami Git do zakładek, aby móc do niej zaglądać w razie potrzeby.


Udostępnij ten artykuł

Zalecane lektury

Dodaj te zasoby do zakładek, aby dowiedzieć się więcej na temat rodzajów zespołów DevOps lub otrzymywać aktualności na temat metodyki DevOps w Atlassian.

Ludzie współpracujący przy ścianie pełnej narzędzi

Blog Bitbucket

Ilustracja DevOps

Ścieżka szkoleniowa DevOps

Demonstracje funkcji z ekspertami Atlassian

Zobacz, jak Bitbucket Cloud współpracuje z Atlassian Open DevOps

Zapisz się do newslettera DevOps

Thank you for signing up