No renderer 'odt' found for mode 'odt'

~~REVEAL theme=simple&disableLayout=0&transition=none&controls=1&show_progress_bar=1&build_all_lists=0&show_image_borders=0&horizontal_slide_level=2&enlarge_vertical_slide_headers=0&show_slide_details=1&open_in_new_window=1&size=1024×768~~

Systemy kontroli wersji Git i GitHub

  • repozytorium kodu (i nie tylko) z historią zmian
  • mechanizmy współdzielenia pracy członków zespołu, synchronizacja zmian
  • śledzenie zmian w kodzie, porównywanie różnic w wersjach kodu, patche
  • rozwój kolejnych wersji i gałęzi oprogramowania oraz mechanizmy łączenia ich
  • historia rozwoju, dokumentacja zmian w kolejnych wersjach
  • kopie bezpieczeństwa - możliwość wycofania zmian, powrotu do poprzedniego stanu
  • zdecentralizowany, każdy użytkownik posiada pełną kopię repozytorium
  • można pracować lokalnie
  • większość operacji wykonywana lokalnie (szybszy w działaniu od scentralizowanych)
  • wygodny mechanizm tworzenia gałęzi
  • elastyczny, możliwość wdrożenia różnych workflow (procesów wytwórczych)
  • usługi udostępniające repozytoria git: GitHub, Azure DevOps, GitLab, BitBucket

<fs x-small>Źródło: http://git-scm.com</fs>

Każdy węzeł przechowuje całą historię repozytorium.

  • master (lub main) - gałąź główna
  • branches - odgałęzienia, wersje rozwojowe
  • tags - wersja zamrożona (np. v.1.0), etykieta

  • git - repozytoria lokalne i zdalne
    • automatyczne tworzenie repozytorium dla nowych projektów w Visual Studio
    • istniejący projekt można umieścic w repozytorium
  • integracja z GitHub (lub innymi np. Azure DevOps)
    • repozytorium można utworzyć na stronie usługi
    • istniejące repozytorium (zdalne, lokalne) można sklonować
    • publikowanie zmian do GitHub

Wybieramy Add to Source Control z paska statusu

przed

po

  • WidokZmiany git

  • WidokRepozytorium Git

  • Dodaj (add): dodanie nowego pliku do śledzenia
  • Zatwierdź (commit): zatwierdzenie zmian, powstaje nowy węzeł w repozytorium (lokalnie)
  • Wypchnij (push): wypchnięcie zmian do zdalnego repozytorium
  • Ściągnij (pull): pobranie zmian i scalenie z lokalną kopią
  • tworzenie i scalanie gałęzi (merge)
  • cofanie zmian (revert), przywracanie poprzednich stanów (reset)
  • przeglądanie i porównywanie zmian w kodzie
  • okno Zmiany git zawiera listę wykrytych zmian
  • Zatwierdź wszystko (commit) - zatwierdzenie zmian
  • zmiany muszą być opatrzone opisem

  • historia zmian - każda zatwierdzona zmiana tworzy węzeł w repozytorium


  • Cofnij zmiany (Undo changes) - wycofywanie niezatwierdzonych zmian
  • Przywróć (Revert) - cofanie zatwierdzonych zmian, nie zmienia historii ale tworzy nowy punkt w historii
  • Resetuj (Reset) - przywraca historyczną wersję repozytorium
  1. Dodaj rozwiązanie projektu (dowolnego) do repozytorium git
  2. Dokonaj przynajmniej jednej zmiany w kodzie i zatwierdź zmiany w repozytorium
  3. Obejrzyj zmiany w oknie historii
  4. Porównaj zmiany
  • gałęzie zawierają równolegle rozwijane wersje kodu, pomiędzy którymi możemy w prosty sposób się przełączać (checkout)
  • master domyślna nazwa głównej gałęzi

  • GitNowa gałąź

  • zaznacz gałąź docelową (master) → „Scal master z … ” - scalanie zmian z innej gałęzi do aktualnej gałęzi
  • Wypchnij (push) - wypchnięcie zmian
  • Pobierz (fetch) - pobieranie zmian (ale bez scalania)
  • Ściągnij (pull) - pobieranie zmian i scalenie z lokalną kopią
  • Sync - ściągnij a następnie wypchnij

Po wysłaniu zmian umieszczonych w osobnej gałęzi możemy poprosić członków zespołu o weryfikację kodu i dodanie do głównej gałęzi

VS 2022 GitHub
  1. tworzymy nową gałąź (nowa funkcja, naprawa błędu, …)
  2. zmieniamy zawartość nowej gałęzi i zatwierdzamy zmiany (commit)
  3. gdy praca skończona wysyłamy gałąź do zdalnego repozytorium (push)
  4. składamy prośbę (pull request) o weryfikację kodu i integrację z główną gałęzią
  5. gdy zmiany zostaną przyjęte, wówczas aktualizujemy lokalną kopię ze zmianami, które mogli nanieść inni użytkownicy, rozwiązujemy konflikty

<fs x-small>Źródło: http://nvie.com/ </fs>

GitKlonuj repozytorium

VS 2022 GitHub
  1. Załóż konto w usłydze GitHub (jesli jeszcze nie posiadasz)
  2. Zaakceptuj zadanie, którego adres otrzymałeś pocztą. Adres zaproszenia znajduje się również na stronie Moodle tutaj
  3. Sklonuj rozwiązanie znajdujące się w repozytorium GitHub
  4. Wykonaj zadanie zgodnie z treścią. Treść zadania znajdziesz także w pliku README.md w repozytorium
  5. Wypchnij rozwiązanie zadania do repozytorium GitHub skojarzonego z tym zadaniem

Napisz program, który prosi o wprowadzenie linii tekstu a następnie wyrysowuje podany tekst w ramce wg. poniższego wzoru

Podaj tekst: Witaj Świecie

*****************
* Witaj Świecie *
*****************