TFS laboratoria

Pierwsze łączenie z TFS

otwórz w przeglądarce internetowej stronę pod adresem: http://158.75.104.45:8080/tfs

wybierz kolekcję test i połącz się z projektem zespołowym Figury Projekt Zespolowy

przejdź do zakładki Code i obejrzyj zawartość projektu w przeglądarce

sprawdź listę użytkowników przypisanych do projektu

w panelu administracyjnym sprawdź uprawnienia członków zespołu dotyczące systemu kontroli wersji. Wszyscy użytkownicy należą do grupy npr. Czy wszyscy z zespołu mogą dokonywać zmian w kodzie projektu Figury?

zmień dane osobowe w profilu użytkownika: nazwę, adres e-mail, zdjęcie

obejrzyj kod zawarty w projekcie Figury

sprawdź historię przesyłanych plików do repozytorium (Changesets/History)

porównaj zmiany naniesione w kilku ostatnich zestawach zmian

przejrzyj historię zmian pojedynczego pliku (np. Program.cs)

wyszukaj wszystkie zmiany dokonane w projekcie przez użytkownika pk00

dowiedz się jakie zmiany zostały naniesione w zestawie nr 39 w pliku Figura.cs

pobierz projekt w postaci paczki zip

połącz się z projektem zespołowym Figury Projekt Zespołowy korzystając z Visual Studio
Team -> Connect to Team Foundation Server

Git w Visual Studio

Projekt w lokalnym repozytorium

Utwórz nowy projekt w VS2015 tworząc jednocześnie lokalne repozytorium git lub dodaj do repozytorium istniejący projekt

dokonaj zmiany w kodzie i zatwierdź zmiany (commit) w repozytorium

obejrzyj historię zmian

przywróć poprzednią wersję kodu sprzed poprzedniego zatwierdzenia

wyeksportuj repozytorium do jednego z projektów zespołowych w TFS i obejrzyj historię zmian w przeglądarce WWW

Praca zdalna

Utwórz nowe repozytorium git na serwerze TFS lub w usłudze VSTS

Sklonuj repozytorium za pomocą VS2015 i dokonaj edycji kodu w projekcie

Skonfiguruj repozytorium git ustawiając poprawną nazwę użytkownika oraz e-mail

Dodaj pliki do zestawu zmian, które będą rewizjonowane i dokonaj zatwierdzenia

Obejrzyj zawartość pliku .gitignore w katalogu projektu

zatwierdź zmiany (commit)

wyślij zmiany do serwera (pull)

pobierz najnowszą wersję ze zdalnego repozytorium (pull)

Rozgałęzienia

Utwórz nową gałąź (branch) lokalną

Dodaj nowe pliki do repozytorium i zmodyfikuj istniejący kod a następnie zatwierdź zmiany lokalnie

Scal nową gałąź z gałęzią główną i usuń niepotrzebną gałąź

Konflikty

Utwórz gałąź i zmodyfikuj jej zawartość. Zatwierdź zmiany i przejdź do bazowej gałęzi

Zmodyfikuj ten sam fragment kodu w bazowej gałęzi i zatwierdź zmiany

Połącz gałęzie (merge) nanosząc zmiany z nowej gałęzi do gałęzi bazowej i rozwiąż ewentualne konflikty

Podstawy obsługi systemu kontroli wersji TFVC

Pobierz aktualną wersję rozwiązania Figury (zmapuj ją z wybranym folderem na lokalnej maszynie)
Configure workspace -> Map & Get

Zapoznaj się z operacjami z menu kontekstowego dostępnego po kliknięciu na różne elementy drzewa projektu (Solution Explorer)

Zapoznaj się z operacjami dostępnymi w oknie Source Control Explorer

Dodaj do projektu nowy plik o nazwie pkN.cs (gdzie N - numer stanowiska) zawierający kolejną klasę dziedziczącą po klasie Figura. Zaimplementuj wymagane metody abstrakcyjne. Przed zatwierdzeniem zmian zapoznaj się z możliwościami okna list zmian Pending Changes. Zatwierdź zmiany w repozytorium (Check In). Nie zapomnij dodać komentarza opisującego naniesione zmiany.

Uaktualnij projekt do najnowszej wersji. Sprawdź czy na pewno wszystkie pliki zostały uaktualnione.

W pliku Kolo.cs do klasy Kolo dodaj metodę o nazwie PK_N. Zawartość metody może być dowolna, np. niech metoda rzuca wyjątek.

Przed zatwierdzeniem zmian porównaj plik Kolo.cs z wersją umieszczoną na serwerze (Latest Version) oraz z wersją lokalną przed zmianami (Workspace). Zatwierdź zmiany opatrując je odpowiednim komentarzem.

Pobierz aktualną wersję i rozwiąż ewentualne konflikty wybierając wersję z serwera

Obejrzyj historię zmian całego projektu oraz jednego z wybranych plików

Porównaj kolejne wersje pliku Kolo.cs. Sprawdź czy udało się dodać metody wszystkim studentom.

Wyświetl plik Kolo.cs wraz z adnotacjami o dokonanych zmianach

Znajdź zmiany dokonane przez użytkownika pk1 (Find->Changeset)

Pobierz pierwotną wersję pliku Kolo.cs i usuń plik pkN.cs

Cofnij wszystkie zmiany przed zatwierdzeniem ich do repozytorium

Utwórz w Visual Studio nowy projekt (lub otwórz istniejący), np. projekt WPF i dodaj do systemu kontroli wersji jako podkatalog projektu Figury Projekt Zespolowy
Solution Explorer -> Add To Source Control

W systemie kontroli wersji można przechowywać dowolne pliki, także nie związane z projektami VS. Spróbuj dodać do systemu kontroli wersji katalog zawierający plik tekstowy, grafikę i dokument stworzony w programie Word. Utwórz w tym celu nowe mapowanie pomiędzy katalogiem lokalnym a nowym katalogiem w projekcie zespołowym . Dodaj do katalogu nowe pliki (skopiuj je niezależnie od Visual Studio). W oknie Pending Changes uwzględnij zmiany wykryte automatycznie w lokalnych katalogach i zatwierdź zmiany w repozytorium.

Rozgałęzienia (branching and merging) w TFVC

Utwórz nową gałąź projektu Figury i zmapuj ją z lokalnym katalogiem
Branching and Merging -> Branch

Obejrzyj hierarchię rozgałęzień
Branching and Merging -> View Herarchy

Dodaj nowy plik w gałęzi zawierający nową klasę i zatwierdź zmiany

Porównaj różnice w rozgałęzieniach

Połącz rozgałęzione projekty (Merge)

Prześledź dokonane zmiany za pomocą wizualizacji View history -> Track Changeset

Przekonwertuj gałąź na folder

Dodaj etykietę wybranej wersji projektu głównego oraz rozgałęzionego (Labels). Odszukaj zaznaczone zestawy zmian w historii.

Nowy projekt zespołowy

Zadanie wykonywane w zespołach 2, 3 lub 4 osobowych osobowych (osoby siedzące przy sąsiednich stanowiskach komputerowych). Zadaniem jest wykonanie prostej aplikacji, która przeprowadza losowanie k liczb z n i wyświetla wynik w oknie. W projekcie powinna znaleźć się klasa, która udostępnia metodę zwracającą tablicę/kolekcję liczb całkowitych z wylosowanych bez zwracania z puli od 1 do N. Aplikacja okienkowa pozwala zdefiniować wartości 'k, n oraz liczbę powtórzeń losowań a następnie wciśnięciu przycisku powinna wyświetlać w odpowiedniej kontrolce serię losowań.

Role w zespole:

zarządca projektu tworzy projekt zespołowy w kolekcji sandbox
File -> New -> Team Project

zarządca dodaje członków zespołu i nadaje odpowiednie uprawnienia każdemu z nich

pierwszy programista odpowiedzialny jest za utworzenie projektu programistycznego, dodanie go do projektu zespołowego na serwerze TFS w kolekcji sandbox oraz stworzenie interfejsu graficznego i oprogramowanie kontrolek

drugi programista tworzy klasę odpowiedzialną za generowanie losowań

grafik (w zespołach 4 osobowych) tworzy i dodaje do projektu logo zespołu, które będzie wyświetlane przez aplikację, np. w postaci splash screanu

Visual Studio Team Services

Zaloguj się do usługi Visual Studio Team Services i utwórz nowe konto (account) w ramach, którego załórz projekt zespołowy wykorzystujący system kontroli wersji git oraz szablon produkcyjny Scrum

Wyeksportuj dowolny projekt z Visual Studio do utworzonego repozytorium git

Wyślij zaproszenie do nowych członków zespołu (m. in. do prowadzącego zajęcia)

Sprawdź zawartość repozytorium przez przeglądarkę WWW

Spróbuj zmodyfikować kod umieszczony w repozytorium otwierając wybrany plik w przeglądarce internetowej