Udostępnij za pośrednictwem


Udostępnianie kodu w usłudze Git

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Udostępnianie kodu innym osobom w usłudze Azure DevOps podczas korzystania z repozytorium Git.

Wymagania wstępne

Musisz mieć organizację i projekt w usłudze Azure DevOps. Podczas tworzenia projektu usługa Azure DevOps automatycznie tworzy puste repozytorium w repozytoriach.

1. Instalowanie narzędzi wiersza polecenia usługi Git

Zainstaluj jedno z następujących narzędzi wiersza polecenia usługi Git:

2. Sklonuj repozytorium na komputer

Aby pracować z repozytorium Git, sklonuj go na komputer, co spowoduje utworzenie pełnej lokalnej kopii repozytorium. Kod może znajdować się w jednym z kilku miejsc.

  1. Wykonaj następujący krok, który ma zastosowanie do danego scenariusza:

  2. W przeglądarce internetowej otwórz projekt zespołowy organizacji i wybierz pozycję Pliki repozytoriów>.

    Zrzut ekranu przedstawiający projekt z wyróżnionymi repozytoriami i plikami.

  3. Wybierz pozycję Klonuj w prawym górnym rogu okna Kod i skopiuj adres URL.

    Zrzut ekranu przedstawiający projekt z wyróżnioną ikoną kopiowania.

  4. Otwórz okno polecenia Git (Powłoka Git Bash w usłudze Git dla systemu Windows). Przejdź do folderu, w którym chcesz utworzyć kod z repozytorium przechowywanego na komputerze, a następnie uruchom git clonepolecenie , a następnie ścieżkę skopiowaną z adresu URL klonowania w poprzednim kroku. Zobacz poniższy przykład:

    git clone https://FabrikamFiber01@dev.azure.com/FabrikamFiber01/FabrikamFiber01-01/_git/FabrikamFiber01-01
    

    Usługa Git pobiera kopię kodu, w tym wszystkie zatwierdzenia i gałęzie z repozytorium, do nowego folderu, z którym możesz pracować.

  5. Przełącz katalog do sklonowanego repozytorium.

    cd fabrikam-web
    

    Pozostaw to okno polecenia otwarte, aby działało w gałęzi.

3. Praca w gałęzi

Gałęzie usługi Git izolować zmiany od innych prac wykonywanych w projekcie. Zalecamy użycie przepływu pracy usługi Git, który używa nowej gałęzi dla każdej funkcji lub poprawki, nad którą pracujesz. W naszych przykładach używamy gałęzi users/jamal/feature1.

  1. Utwórz gałąź za branch pomocą polecenia .

    git branch users/jamal/feature1
    

    To polecenie tworzy odwołanie w usłudze Git dla nowej gałęzi. Tworzy również wskaźnik z powrotem do zatwierdzenia nadrzędnego, aby usługa Git mogła zachować historię zmian podczas dodawania zatwierdzeń do gałęzi.

    Jeśli pracujesz z wcześniej sklonowanym repozytorium, upewnij się, że została wyewidencjonowana właściwa gałąź () i że jest aktualna (git checkout maingit pull origin main) przed utworzeniem nowej gałęzi.

  2. Użyj polecenia checkout , aby przełączyć się do tej gałęzi.

    git checkout users/jamal/feature1
    

    Usługa Git zmienia pliki na komputerze w celu dopasowania do najnowszego zatwierdzenia w gałęzi wyewidencjonowania.

    Napiwek

    Podczas tworzenia gałęzi z poziomu wiersza polecenia gałąź jest oparta na obecnie wyewidencjonowanej gałęzi. Podczas klonowania repozytorium zostanie wyewidencjonowana gałąź domyślna (zazwyczaj main). Ponieważ została sklonowana, lokalna kopia pliku main zawiera najnowsze zmiany.

    git checkout main
    git pull origin main
    git branch users/jamal/feature1
    git checkout users/jamal/feature1
    

    Pierwsze trzy polecenia w poprzednim przykładzie można zastąpić następującym poleceniem, które tworzy nową gałąź o nazwie users/jamal/feature1 na podstawie najnowszej main gałęzi.

    git pull origin main:users/jamal/feature1
    

    Wróć do okna powłoki Git Bash użytego w poprzedniej sekcji. Uruchom następujące polecenia, aby utworzyć i wyewidencjonować nową gałąź na podstawie głównej gałęzi.

    git pull origin main:users/jamal/feature1
    git checkout feature1
    

4. Praca z kodem

W poniższych krokach wprowadzimy zmianę w plikach na komputerze, zatwierdzimy zmiany lokalnie, a następnie wypchniemy zatwierdzenie do repozytorium przechowywanego na serwerze.

  1. Przejdź do folderu na komputerze, na którym sklonowane repozytorium, otwórz README.md plik w wybranym edytorze i wprowadź pewne zmiany. Następnie zapisz i zamknij plik.

  2. W oknie polecenia Git przejdź do contoso-demo katalogu, wprowadzając następujące polecenie:

    cd contoso-demo
    
  3. Zatwierdź zmiany, wprowadzając następujące polecenia w oknie polecenia Git:

    git add .
    git commit -m "My first commit"
    

    Polecenie git add . etapuje wszystkie nowe lub zmienione pliki i git commit -m tworzy zatwierdzenie z określonym komunikatem zatwierdzenia.

    Sprawdź gałąź, nad którą pracujesz przed zatwierdzeniem, aby nie zatwierdzać zmian w niewłaściwej gałęzi. Usługa Git zawsze dodaje nowe zatwierdzenia do bieżącej gałęzi lokalnej.

  4. Wypchnij zmiany do repozytorium Git na serwerze. Wprowadź następujące polecenie w oknie polecenia Git:

    git push origin users/jamal/feature1
    

Kod jest teraz udostępniany repozytorium zdalnemu w gałęzi o nazwie users/jamal/feature1. Aby scalić kod z gałęzi roboczej z gałęzią main , użyj żądania ściągnięcia.

5. Scal zmiany za pomocą żądania ściągnięcia

Żądania ściągnięcia łączą przegląd i scalanie kodu w jeden proces współpracy. Po zakończeniu naprawiania usterki lub nowej funkcji w gałęzi utwórz nowe żądanie ściągnięcia. Dodaj członków zespołu do żądania ściągnięcia, aby mogli przeglądać i głosować nad zmianami. Użyj żądań ściągnięcia, aby przejrzeć prace w toku i uzyskać wczesną opinię na temat zmian. Nie ma zobowiązania do scalenia zmian, ponieważ w dowolnym momencie można porzucić żądanie ściągnięcia.

W poniższym przykładzie przedstawiono podstawowe kroki tworzenia i kończenia żądania ściągnięcia.

  1. Otwórz projekt zespołowy organizacji w przeglądarce internetowej i wybierz pozycję Pliki repozytoriów>. Jeśli przeglądarka jest otwarta po otrzymaniu adresu URL klonowania, możesz po prostu przełączyć się z powrotem do niego.

  2. Wybierz pozycję Utwórz żądanie ściągnięcia w prawym górnym rogu okna Pliki. Jeśli nie widzisz komunikatu, takiego jak Zaktualizowano użytkowników/jamal/feature1 tylko teraz, odśwież przeglądarkę.

    Tworzenie żądania ściągnięcia

    Nowe żądania ściągnięcia są skonfigurowane do scalania gałęzi z gałęzią domyślną, która w tym przykładzie to main. Tytuł i opis są wstępnie wypełniane komunikatem zatwierdzenia.

    Nowe żądanie ściągnięcia

    Możesz dodać recenzentów i połączyć elementy robocze z żądaniem ściągnięcia.

    Pliki zawarte w żądaniu ściągnięcia można przejrzeć w dolnej części okna Nowe żądanie ściągnięcia.

    Pliki w żądaniu ściągnięcia

  3. Wybierz pozycję Utwórz.

    Wyświetl szczegóły żądania ściągnięcia na karcie Przegląd . Możesz również wyświetlić zmienione pliki, aktualizacje i zatwierdzenia w żądaniu ściągnięcia z innych kart.

  4. Wybierz pozycję Zakończ , aby rozpocząć proces kończenia żądania ściągnięcia.

    Żądanie ściągnięcia

  5. Wybierz pozycję Zakończ scalanie , aby ukończyć żądanie ściągnięcia i scalić kod z gałęzią main .

    Ukończ żądanie ściągnięcia

    Uwaga

    W tym przykładzie przedstawiono podstawowe kroki tworzenia i kończenia żądania ściągnięcia. Aby uzyskać więcej informacji, zobacz Tworzenie, wyświetlanie żądań ściągnięcia i zarządzanie nimi.

Zmiany są teraz scalane z gałęzią main , a users/jamal/feature1 gałąź zostanie usunięta w repozytorium zdalnym.

Wyświetl historię

  1. Wróć do portalu internetowego i wybierz pozycję Historia na stronie Kod , aby wyświetlić nowe zatwierdzenie.

    Zrzut ekranu przedstawiający portal internetowy z wyróżnioną pozycją Historia

  2. Przejdź do karty Pliki i wybierz plik README, aby wyświetlić zmiany.

    Zrzut ekranu przedstawiający plik README

Czyszczenie

Wróć do wiersza polecenia powłoki Git Bash i uruchom następujące polecenie, aby usunąć lokalną kopię gałęzi.

git checkout main
git pull origin main
git branch -d users/jamal/feature1

Ta akcja wykonuje następujące zadania:

  • Polecenie git checkout main przełącza cię do main gałęzi .
  • Polecenie git pull origin main ściąga najnowszą wersję kodu w gałęzi głównej, w tym zmiany i fakt users/jamal/feature1 scalania.
  • Polecenie git branch -d users/jamal/feature1 usuwa lokalną kopię tej gałęzi.

Następne kroki