TFS laboratoria

  • 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

Projekt w lokalnym repozytorium

  1. Utwórz nowy projekt w VS2015 tworząc jednocześnie lokalne repozytorium git lub dodaj do repozytorium istniejący projekt
  2. dokonaj zmiany w kodzie i zatwierdź zmiany (commit) w repozytorium
  3. obejrzyj historię zmian
  4. przywróć poprzednią wersję kodu sprzed poprzedniego zatwierdzenia
  5. wyeksportuj repozytorium do jednego z projektów zespołowych w TFS i obejrzyj historię zmian w przeglądarce WWW

Praca zdalna

  1. Utwórz nowe repozytorium git na serwerze TFS lub w usłudze VSTS
  2. Sklonuj repozytorium za pomocą VS2015 i dokonaj edycji kodu w projekcie
  3. Skonfiguruj repozytorium git ustawiając poprawną nazwę użytkownika oraz e-mail
  4. Dodaj pliki do zestawu zmian, które będą rewizjonowane i dokonaj zatwierdzenia
  5. Obejrzyj zawartość pliku .gitignore w katalogu projektu
  6. zatwierdź zmiany (commit)
  7. wyślij zmiany do serwera (pull)
  8. pobierz najnowszą wersję ze zdalnego repozytorium (pull)

Rozgałęzienia

  1. Utwórz nową gałąź (branch) lokalną
  2. Dodaj nowe pliki do repozytorium i zmodyfikuj istniejący kod a następnie zatwierdź zmiany lokalnie
  3. Scal nową gałąź z gałęzią główną i usuń niepotrzebną gałąź

Konflikty

  1. Utwórz gałąź i zmodyfikuj jej zawartość. Zatwierdź zmiany i przejdź do bazowej gałęzi
  2. Zmodyfikuj ten sam fragment kodu w bazowej gałęzi i zatwierdź zmiany
  3. Połącz gałęzie (merge) nanosząc zmiany z nowej gałęzi do gałęzi bazowej i rozwiąż ewentualne konflikty
  1. Pobierz aktualną wersję rozwiązania Figury (zmapuj ją z wybranym folderem na lokalnej maszynie)
    Configure workspace → Map & Get
  2. Zapoznaj się z operacjami z menu kontekstowego dostępnego po kliknięciu na różne elementy drzewa projektu (Solution Explorer)
  3. Zapoznaj się z operacjami dostępnymi w oknie Source Control Explorer
  4. 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.
  5. Uaktualnij projekt do najnowszej wersji. Sprawdź czy na pewno wszystkie pliki zostały uaktualnione.
  6. 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.
  7. 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.
  8. Pobierz aktualną wersję i rozwiąż ewentualne konflikty wybierając wersję z serwera
  9. Obejrzyj historię zmian całego projektu oraz jednego z wybranych plików
  10. Porównaj kolejne wersje pliku Kolo.cs. Sprawdź czy udało się dodać metody wszystkim studentom.
  11. Wyświetl plik Kolo.cs wraz z adnotacjami o dokonanych zmianach
  12. Znajdź zmiany dokonane przez użytkownika pk1 (Find→Changeset)
  13. Pobierz pierwotną wersję pliku Kolo.cs i usuń plik pkN.cs
  14. Cofnij wszystkie zmiany przed zatwierdzeniem ich do repozytorium
  15. 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
  16. 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

  1. Utwórz nową gałąź projektu Figury i zmapuj ją z lokalnym katalogiem
    Branching and Merging → Branch
  2. Obejrzyj hierarchię rozgałęzień
    Branching and Merging → View Herarchy
  3. Dodaj nowy plik w gałęzi zawierający nową klasę i zatwierdź zmiany
  4. Porównaj różnice w rozgałęzieniach
  5. Połącz rozgałęzione projekty (Merge)
  6. Prześledź dokonane zmiany za pomocą wizualizacji View history → Track Changeset
  7. Przekonwertuj gałąź na folder
  8. 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
  • 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