Udostępniaj
W systemie SVN programiści dzielą się swoimi kontrybucjami, wprowadzając zmiany z kopii roboczej na komputerze lokalnym do centralnego repozytorium. Następnie inni programiści pobierają te aktualizacje z centralnego repozytorium do własnych lokalnych kopii roboczych.
Git’s collaboration workflow is much different. Instead of differentiating between working copies and the central repository, Git gives each developer their own local copy of the entire repository. Changes are committed to this local repository instead of a central one. To share updates with other developers, you need to push these local changes to a public Git repository on a server. Then, the other developers can pull your new commits from the public repo into their own local repositories.
Przydzielenie każdemu użytkownikowi własnego kompletnego repozytorium stanowi podstawę rozproszonej kontroli wersji i oferuje szeroki wachlarz potencjalnych przepływów pracy. Więcej informacji na temat tych przepływów pracy można znaleźć w sekcji Przepływy pracy Git.
Do tej pory ograniczaliśmy się do lokalnego repozytorium Git. Tutaj wyjaśniamy, jak wypchnąć lokalne repozytorium do publicznego, hostowanego na serwerze Bitbucket. Udostępnianie repozytorium Git podczas migracji pozwala zespołowi eksperymentować z poleceniami Git bez wpływu na bieżące działania w systemie SVN. Zanim nastąpi moment migracji, współdzielone repozytoria Git należy traktować jako „tylko do odczytu”. Zmiany nadal powinny być zatwierdzane w oryginalnym repozytorium SVN.
Utworzenie konta Bitbucket
Jeśli nie masz jeszcze konta Bitbucket, konieczne jest jego utworzenie. Hosting jest bezpłatny dla maksymalnie 5 użytkowników, więc od razu zacząć wypróbowywać nowe przepływy pracy Git.
Tworzenie repozytorium Bitbucket
Kolejnym krokiem jest utworzenie repozytorium Bitbucket. Bitbucket znacząco ułatwia administrowanie hostowanymi repozytoriami dzięki interfejsowi internetowemu. Po zalogowaniu się wystarczy jedynie kliknąć przycisk „Create repository” (Utwórz repozytorium).
W wyświetlonym formularzu podaj nazwę i opis repozytorium. Jeśli projekt jest prywatny, zostaw opcję Access level (Poziom dostępu) zaznaczoną, aby tylko wyznaczeni programiści mogli go sklonować. W polu Forking (Podziały) wybierz opcję Allow only private forks (Zezwalaj tylko na prywatne podziały). W polu Repository type (Typ repozytorium) wskaż Git, oznacz narzędzia do zarządzania projektami, których chcesz użyć, a następnie wybierz podstawowy język programowania projektu w polu Language (Język).
materiały pokrewne
Jak przenieść pełne repozytorium Git
POZNAJ ROZWIĄZANIE
Poznaj środowisko Git z rozwiązaniem Bitbucket Cloud
Aby utworzyć hostowane repozytorium, prześlij formularz, klikając przycisk Create repository (Utwórz repozytorium). Po skonfigurowaniu repozytorium zobaczysz stronę Next steps (Kolejne kroki) opisującą polecenia przydatne do zaimportowania istniejącego projektu. Dalsza część strony poprowadzi Cię krok po kroku przez całą procedurę.
Dodawanie źródłowego repozytorium zdalnego
Aby ułatwić wysyłanie commitów z lokalnego repozytorium Git do właśnie utworzonego repozytorium Bitbucket, konieczne jest zarejestrowanie adresu URL repozytorium Bitbucket za pomocą odwołania zdalnego. Odwołanie zdalne to wygodny skrót adresu URL. Technicznie rzecz biorąc, można użyć dowolnego skrótu, ale jeśli zdalne repozytorium służy jako oficjalna baza kodu projektu, jest ono umownie określane jako origin
. Wykonaj następujące polecenia w lokalnym repozytorium Git, aby dodać nowe repozytorium Bitbucket jako zdalne źródło origin
.
git remote add origin https://<username>@bitbucket.org/<workspace-id>/<repo>.git
Pamiętaj, aby zmienić wartość <username>
na nazwę użytkownika Bitbucket, <workspace-id>
na identyfikator swojej przestrzeni roboczej, a <repo>
na nazwę repozytorium Bitbucket. Powinno też być możliwe skopiowanie i wklejenie całego adresu URL z interfejsu internetowego Bitbucket.
Po wykonaniu powyższego polecenia zwrot origin
użyty w innych poleceniach Git będzie się odnosił do repozytorium Bitbucket.
Wypychanie lokalnego repozytorium do Bitbucket
Następnie trzeba wypełnić repozytorium Bitbucket zawartością lokalnego repozytorium Git. Określa się to mianem „wypychania” i można to wykonać za pomocą następującego polecenia:
git push -u origin --all
Opcja -u
informuje system Git, aby śledził gałęzie nadrzędne. Dzięki temu Git poinformuje Cię, czy historia commitów zdalnego repozytorium znajduje się przed Twoimi lokalnymi gałęziami, czy za nimi. Opcja --all
wypycha wszystkie lokalne gałęzie do zdalnego repozytorium.
You also need to push your local tags to the Bitbucket repository with the --tags option:
git push --tags
Repozytorium Bitbucket jest teraz klonem lokalnego. W interfejsie internetowym Bitbucket możesz wyświetlić całą historię commitów wszystkich swoich gałęzi.
Udostępnianie repozytorium zespołowi
Jedyne, co pozostało do zrobienia, to udostępnienie adresu URL repozytorium Bitbucket innym programistom. Adres URL dowolnego repozytorium Git można skopiować i wkleić ze strony głównej repozytorium w Bitbucket:
Jeśli repozytorium jest prywatne, konieczne jest również przydzielenie uprawnienia dostępu członkom zespołu w zakładce Administration (Administracja) interfejsu Bitbucket. Użytkownikami i grupami można zarządzać za pomocą opcji Access management (Zarządzanie dostępem) na lewym pasku bocznym.
Ewentualnie możesz użyć wbudowanej funkcji zaproszenia Bitbucket w celu udostępnienia repozytorium drogą podziału. Zaproszeni użytkownicy automatycznie otrzymają dostęp do repozytorium, więc nie musisz się martwić o przyznawanie uprawnień.
Po otrzymaniu adresu URL Twojego repozytorium inny programista może je skopiować na lokalny komputer za pomocą polecenia git clone
i rozpocząć pracę nad projektem. Przykładowo po użyciu poniższego polecenia na komputerze lokalnym inny programista znajdzie nowe repozytorium Git z projektem w katalogu o nazwie <repo>
.
git clone https://<username>@bitbucket.org/<workspace-id>/<repo>.git
Dalsze zatwierdzanie za pomocą SVN
Teraz powinno być możliwe wypchnięcie lokalnego projektu do zdalnego repozytorium, a zespół powinien być w stanie użyć tego zdalnego repozytorium do sklonowania projektu na lokalne maszyny. To już wszystkie narzędzia potrzebne do rozpoczęcia współpracy za pomocą systemu Git. Niemniej Ty i Twój zespół powinniście nadal zatwierdzać zmiany za pomocą SVN, dopóki nie wszyscy będą gotowi do migracji.
Jedyne zmiany w repozytorium Git powinny pochodzić z oryginalnego repozytorium SVN przy użyciu procesu synchronizacji omówionego na poprzedniej stronie. Oznacza to generalnie, że wszystkie Twoje repozytoria Git (zarówno lokalne, jak i zdalne) mają status „tylko do odczytu”. Twoi programiści mogą na nich eksperymentować, oraz możesz zacząć je integrować z procesem kompilowania, ale należy unikać zatwierdzania trwałych zmian za pomocą Git.
Podsumowanie
Na tym etapie konfigurujesz repozytorium Bitbucket, aby udostępniać przekonwertowane repozytorium Git innym programistom. Wszystkie narzędzia potrzebne do wdrożenia dowolnego przepływu pracy systemu Git spośród opisanych w sekcji Przepływy pracy Git powinny być już dla Ciebie dostępne. Możesz kontynuować synchronizację z repozytorium SVN i udostępniać commity Git za pośrednictwem Bitbucket tak długo, jak będzie trwał proces oswajania się zespołu z systemem Git. Następnie możesz zakończyć proces migracji przez wycofanie repozytorium SVN.
Udostępnij ten artykuł
Następny temat
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.