Close

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.

Migracja Git: scentralizowane programowanie z SVN a rozproszone programowanie z Git

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).

Create repository within Bitbucket

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).

Create repository fields within Bitbucket
Bazy danych
materiały pokrewne

Jak przenieść pełne repozytorium Git

Logo Bitbucket
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.

Migracja Git: dodawanie zdalnego źródła

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
Migracja Git: wypychanie do repozytorium Bitbucket

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:

Share repository url

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.

Migracja Git: zarządzanie dostępem do repozytoriów Git

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.

Migracja Git: zmiany w repozytorium Git powinny pochodzić wyłącznie z oryginalnego repozytorium SVN

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.

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