Korzystanie z systemu kontroli wersji

Nie ma znaczenia, czy projekt oprogramowania jest duży, czy mały. Zwykle zaleca się użycie kontroli wersji możliwie jak najszybciej w cyklu życia projektu.

  • Kiedy należy używać kontroli wersji?

  • Którego systemu kontroli wersji należy używać: TFVC czy Git?

  • Szczegółowe informacje na temat różnic między systemami TFVC i Git

Kiedy należy używać kontroli wersji?

Zawsze przy tworzeniu projektu kodu (Klawiatura: Ctrl + 0, N) istnieje możliwość, aby dodać go do systemu kontroli wersji.

Nowy projekt

Czy należy zaznaczyć pole?Najkrócej mówiąc — tak.Bardziej szczegółowa odpowiedź zależy od konkretnej sytuacji.

Małe projekty

Nawet jeśli pracujesz samodzielnie nad małym projektem, możesz korzystać z kontroli wersji do poprawy własnej produktywności i rozwiązania trudnych problemów.

  • Chcę po prostu od razu rozpocząć kodowanie. Nie wiem, czy będę coś udostępniał już teraz, ale być może w przyszłości.
    Możesz rozpocząć korzystanie z kontroli wersji Git, zanim napiszesz pierwszy wiersz kodu, praktycznie nie ponosząc kosztów ani ryzyka.Odnosisz wiele korzyści, w tym możliwość przywracania znanego, działającego stanu, co się przydaje, gdy pojawią się kłopoty.Wszystko to odbywa się na lokalnym komputerze deweloperskim, bez konieczności połączenia z serwerem.Kiedy będziesz gotowy, możesz szybko udostępnić swój kod i rozpocząć współpracę w programie TFS lub w zewnętrznej usłudze Git.Rozpocznij pracę, korzystając z Git.

  • Szukam prosty system ułatwiające mnie teraz współpracować z innymi użytkownikami.
    Aby nie tracić więcej czasu, możesz utworzyć projekt zespołowy i zacząć używać kontroli wersji programu Team Foundation (TFVC).Możesz używać programu Visual Studio Online lub lokalnej wersji programu Team Foundation Server (TFS).Rozpocznij pracę z kontrolą wersji programu Team Foundation (TFVC).

Większe projekty

Jeśli pracujesz z zespołem lub nad skomplikowanymi projektami, prawie na pewno powinieneś pracować we współdzielonym systemie plików z kontrolą wersji, tak aby poprawić współpracę i przejrzystość.Będzie można również korzystać ze zintegrowanych zautomatyzowane kompilacje, planowania projektu i śledzenia, i inne możliwości zarządzania cyklem życia aplikacji Jeśli używasz TFS (albo lokalnie lub w chmurze).

Którego systemu kontroli wersji powinienem używać?

Podczas tworzenia nowego projektu zespołowego trzeba wybrać system kontroli wersji, którego będzie używał zespół pracujący nad tym projektem: Kontrola wersji programu Team Foundation (TFVC) lub Git.Jest to stały wybór dla każdego tworzonego projektu zespołowego, ale można użyć zarówno TFVC, jak i projektów zespołowych Git w tej samej kolekcji projektu zespołowego.

Łączenie się z projektem zespołu TFVC

System Team Foundation Version Control (scentralizowany)

Team Foundation Version Control (TFVC) to scentralizowany system kontroli wersji.Zazwyczaj członkowie zespołu mają tylko jedną wersję każdego pliku na swoich komputerach deweloperskich.Dane historyczne są utrzymywane tylko na serwerze.Gałęzie bazują na ścieżkach i są tworzone na serwerze.

TFVC oferuje dwa modele dla zespołu, aby umożliwiać wprowadzanie zmian:

  • Obszary robocze serwera: Przed wprowadzeniem zmian członkowie zespołu publicznie wyewidencjonowują pliki.Większość operacji wymaga, aby deweloper był połączony z serwerem.(W przeszłości zespoły blokowały więcej niż jedną osobę od wyewidencjonowywania, ale teraz rzadziej się to zdarza). System ten ułatwia blokowanie przepływu pracy.Inne systemy, które działają w ten sposób, obejmują Visual Source Safe, Perforce i CVS.

  • Lokalne obszary robocze: Każdy członek zespołu zabiera kopię najnowszej wersji bazy kodu ze sobą i pracuje w trybie offline stosownie do potrzeb.Deweloperzy ewidencjonują swoje zmiany i w razie potrzeby rozwiązują konflikty.Inny system, który działa w ten sposób, to Subversion.

Dowiedz się więcej o Team Foundation Version Control(TFVC).

Git rozproszonej kontroli wersji (rozproszone)

Git to system kontroli wersji rozproszonej.Każdy deweloper ma kopię całego repozytorium kodu źródłowego na swojej maszynie deweloperskiej.Deweloperzy mogą zatwierdzać każdy zestaw zmian na swoich maszynach deweloperskich i wykonywać operacje kontroli wersji, takie jak historia i porównywanie, nie łącząc się z siecią.Gałęzie są lekkie.Kiedy chcesz zmienić konteksty, możesz utworzyć prywatną lokalną gałąź.Możesz szybko przełączać się z jednej gałęzi do innej, aby pracować nad różnymi odmianami bazy danych kodu.Później gałąź możesz scalić, opublikować lub usunąć.Inny system, który działa w ten sposób, to Mercurial.

Ważna uwagaWażne

Git w programie Visual Studio i TFS jest standardowym Git.Programu Visual Studio można używać z usługami Git innych producentów. Można także używać klientów Git innych producentów z serwerem TFS.

Dowiedz się więcej o Git.

Szczegółowe informacje na temat różnic między systemami TFVC i Git

Oto wykres porównawczy, który pomoże dokonać wyboru między TFVC i Git.

Możliwości

TFVC

Git

Alerty

Członkowie zespołu mogą otrzymywać alerty e-mail po wystąpieniu ewidencjonowania.

Członkowie zespołu mogą otrzymywać alerty e-mail, gdy zatwierdzenia są wypychane do serwera.

Sprawdzalność

Ponieważ zespół ewidencjonuje całą swoją pracę w scentralizowanym systemie, możesz zidentyfikować użytkownika, który zaewidencjonował zestaw zmian, i użyć funkcji porównania, aby zobaczyć, co zmienił.Patrząc na plik, można dodawać adnotacje w celu zidentyfikowania, kto zmienił blok kodu i kiedy to zrobił.

Można zidentyfikować użytkownika, który wypchnął zatwierdzenie do TFS.(Każdy może deklarować tożsamość jako autor lub zatwierdzający). Korzystając z funkcji historii, porównywania i komentowania, można wskazać, kiedy zmiany zostały wprowadzone.

Rozgałęzianie

Gałęzi opartych na ścieżkach używa się głównie jako długotrwałych konstrukcji do izolowania ryzyka zmiany wśród zespołów funkcji i wydań.Zwykle tworzą oni dodatkowy obszar roboczy dla każdej gałęzi, nad którą pracują.

Zmiany w każdej gałęzi są niezależne od siebie, więc nie musisz ich zaewidencjonować przed przełączeniem z jednej gałęzi do innej.Scalanie równorzędnych gałęzi wymaga scalania bez podstawy.

Możesz uzyskiwać wizualizacje własnych struktur gałęzi wraz z informacjami o miejscach scalania zestawów zmian.

Zobacz Używaj odgałęzień, aby izolować ryzyko w kontroli wersji Team Foundation.

Rozgałęzianie jest lekkie i niezależne od ścieżek.Wielu programistów tworzy gałąź dla każdej nowej kodowanej funkcji, czasami nawet codziennie.Możesz szybko przełączać się z jednej gałęzi do innej, aby pracować nad różnymi odmianami bazy danych kodu.Możesz tworzyć gałęzie, które istnieją tylko na komputerze deweloperskim, i dzielić się nimi, jeśli jesteś gotowy.

Musisz przekazać, rozgałęzić, ukryć lub cofnąć zmiany przed przełączeniem gałęzi.Scalanie jest proste i nie zależy od zatwierdzania, na którym jest oparta gałąź.

Gałęzie można porównywać, aby sprawdzić, które zatwierdzenia istnieją w których gałęziach.

Zobacz Używaj odgałęzień Git, aby przełączać kontektsy, zawieszać pracę i izolować ryzyko.

Kompilacje (zautomatyzowane przez narzędzie TFBuild)

Możesz skorzystać ze wszystkich możliwości TFBuild do kompilowania dowolnej zawartości, która ma się znaleźć w kolekcji projektu zespołowego.

Większości możliwości TFBuild można użyć do kompilacji jednego projektu zespołowego i jednego lub więcej repozytoriów w jednym czasie.Kompilacje ewidencjonowania warunkowego nie są jeszcze dostępne.Symbole można opublikować, ale nie są jeszcze zindeksowane.

Zmiany

Członkowie zespołu mogą jednocześnie zmieniać pliki na swoich komputerachZestawy zmian są przekazywane (ewidencjonowane) na serwer podczas ich tworzenia.Zmiany można przesłać w dowolnym momencie.Jednak działanie może zostać przerwane przez konflikty.

Komentarz do zestawu zmian można zmienić po jego zaewidencjonowaniu.Można połączyć zestawy zmian z elementami roboczymi i powiązać je z zakończonymi kompilacjami.

Członkowie zespołu mogą jednocześnie zmieniać pliki na swoich komputerachZatwierdzenia tworzy się na komputerze deweloperskim niezależnie od przekazywania ich do zespołu.Gdy wszystko będzie gotowe, musisz ściągnąć najnowsze zatwierdzenia przed wysłaniem (wypchnięciem) swoich zatwierdzeń na serwer.Ściąganie może zostać przerwane przez konflikty.

Możesz zmienić najnowsze lokalne zatwierdzenie.Nie możesz zmienić starszych zatwierdzeń.Możesz połączyć zatwierdzenia z elementami roboczymi i powiązać je z zakończonymi kompilacjami.

Lokalne zatwierdzenia można modyfikować i łączyć za pomocą wiersza polecenia.

Przeglądy kodu w programie TFS

Tak

Nie są jeszcze dostępne, ale można komentować i wysyłać e-mailem informacje dotyczące zatwierdzeń z portalu sieci Web.

Witrynie CodePlex pomocy technicznej

Tak

Tak

Rozwiązywanie konfliktów

Podczas pobierania, ewidencjonowania, scalania i pobierania z odłożenia może być konieczne rozwiązanie konfliktów.Program Visual Studio umożliwia rozwiązanie wszystkich typów konfliktów.

Podczas ściągania lub scalania może być konieczne rozwiązanie konfliktów.Program Visual Studio umożliwia rozwiązanie konfliktów zawartości.Konflikty innego typu mogą być rozwiązane wyłącznie z wiersza polecenia.

Magazyn plików

Możesz ewidencjonować duże pliki binarne.Można także użyć NuGet w połączeniu lub jako alternatywę.

Możesz ewidencjonować małe pliki binarne.Unikaj ewidencjonowania dużych plików binarnych, zwłaszcza tych, które często modyfikujesz.Jeśli to możliwe, użyj NuGet jako alternatywę dla ewidencjonowania plików binarnych.

Pliki na klienckim komputerze deweloperskim

Możesz przeglądać pliki za pomocą Eksploratora kontroli źródła w programie Visual Studio lub za pomocą Eksploratora plików Windows albo wiersza polecenia.

Możesz przeglądać własne pliki przy użyciu Eksploratora plików Windows lub wiersza polecenia.Jeszcze nie możesz przeglądać plików w programie Visual Studio.

Pliki na serwerze

Każdy projekt zespołowy zawiera wszystkie pliki w jednej ścieżce katalogu głównego (na przykład: $/ FabrikamTFVC).Uprawnienia możesz stosować na poziomie pliku.Możesz blokować pliki.

Możesz przeglądać pliki w portalu internetowym i korzystać z funkcji Eksploratora kontroli źródła w programie Visual Studio.

Projekt zespołowy istnieje tylko na jednym serwerze.

Każdy projekt zespołowy może zawierać jedno lub więcej repozytoriów Git, a każde repozytorium Git może zawierać jedną lub więcej gałęzi.To najbardziej szczegółowe uprawnienia, jakie można zastosować do repozytorium lub gałęzi.Nie można zablokować plików.

Pliki można przeglądać w portalu sieci Web.

Możesz wypychać zatwierdzenia do wielu zdalnych repozytoriów (na przykład do repozytorium projektu zespołowego i do witryny sieci Web utrzymywanej w systemie Microsoft Azure).

Historia

Historia pliku nie jest replikowana na klienckim komputerze deweloperskim, a tym samym można ją przeglądać tylko po połączeniu z serwerem.

Możesz wyświetlić historię w programie Visual Studio i w portalu sieci Web.Możesz dodać adnotacje do plików, aby zobaczyć, kto i kiedy zmienił każdy z wierszy.

Historia pliku jest replikowana na klienckim komputerze deweloperskim, a tym samym można ją przeglądać nawet przy braku połączenia z serwerem.

Możesz wyświetlić historię w programie Visual Studio i w portalu sieci Web.W portalu sieci Web możesz dodać adnotacje do plików, aby zobaczyć, kto i kiedy zmienił każdy z wierszy.

Zarządzaj pracą na komputerze deweloperskim

Oczekujące zmiany i strony mojej pracy

Strony zmian, zatwierdzeń i gałęzi.

Ścieżka migracji

Narzędzia Git-TF

Narzędzia Git-TF

Bramki jakości

Możesz używać kompilacji CI, kompilacji ewidencjonowanych warunkowo i zasad ewidencjonowania.

Możesz używać kompilacji CI.Kompilacje ewidencjonowania warunkowego nie są jeszcze dostępne.

Wycofywanie zmian

Możesz wycofać jeden lub więcej zestawów zmian

Możesz cofnąć zatwierdzenie

Skala

Możesz pracować nad projektami o małej i bardzo dużej skali przy użyciu lokalnych obszarów roboczych.Obsługuje projekty o bardzo dużej skali (miliony plików w gałęzi i duże pliki binarne) za pomocą obszarów roboczych serwera.

Możesz szybko rozpoczynać małe projekty.Możesz skalować do bardzo dużych projektów, ale musisz wcześniej zaplanować modularyzację bazy kodu.W projekcie zespołowym możesz utworzyć wiele repozytoriów.

Wstrzymywanie pracy

Możesz wstrzymać zmiany za pomocą strony Moja praca lub je odłożyć.

Możesz utworzyć z nich gałąź (w Visual Studio lub z wiersza polecenia) lub je ukryć (z wiersza polecenia)

Oznaczanie plików

Możesz zastosować etykiety do wersji co najmniej jednego pliku w programie Visual Studio lub z wiersza polecenia.Każdy plik może mieć etykietę stosowaną do innej wersji.

Możesz zastosować znaczniki z wiersza polecenia do poszczególnych zatwierdzeń.Wyświetl znaczniki w oknie historii Visual Studio.

Narzędzia

Narzędzia klienckie: Visual Studio, Eclipse (z programem Team Explorer Everywhere)

Narzędzie serwera: TFS

Narzędzia klienckie: Visual Studio, Eclipse i inne narzędzia innych producentów

Narzędzia serwera: TFS i usługi innych firm

Interfejs użytkownika

Visual Studio: Oferuje wszystkie najczęściej używane funkcje i wiele funkcji zaawansowanych.

Portal internetowy TFS: Można przeglądać, komentować, dodawać adnotacje i wyświetlać historię bazy kodu.

Wiersz polecenia TF: Instalowany z programem Visual Studio.Używa się go do zaawansowanych, administracyjnych i innych mniej typowych zadań.

Program Visual Studio: Oferuje wiele powszechnie używanych funkcji.Funkcje dla niektórych typowych zadań nie są jeszcze dostępne.

Portal internetowy TFS: Można przeglądać, komentować, dodawać adnotacje i wyświetlać historię bazy kodu.

Wiersz polecenia firmy zewnętrznej: Można go zainstalować, korzystając z programu Visual Studio.Używa się go do niektórych typowych i mniej typowych zadań.

Zgodność programu Visual Studio

Możesz używać wszystkich obsługiwanych poprzednich wersji programu Visual Studio.

Można użyć Visual Studio 2013 (Git jest uwzględniony) lub programu Visual Studio 2012 Update 3 (należy również zainstalować Visual Studio Tools dla Git).

Portal sieci Web

Możesz przeglądać własną bazę kodu (łącznie z gałęziami), wyświetlać historię, dodawać adnotacje i komentować zestawy zmian oraz zestawy odłożone, a także wykonywać inne zadania, takie jak pobieranie ad hoc zaznaczonych części bazy kodu w postaci pliku .zip.

Możesz przeglądać własną bazę kodu, wyświetlać historię, porównywać gałęzie, dodawać adnotacje i komentarze do zatwierdzeń, a także wykonywać inne zadania, takie jak pobieranie ad hoc zaznaczonych części bazy kodu w postaci pliku .zip.