Programowanie I

Podobne dokumenty
Co zostanie wypisane na ekranie? (1)

GIT. System Kontroli wersji GIT. Rafał Kalinowski

System kontroli wersji git

Git - podstawy. Błażej Kowalczyk. Koło Naukowe Robotyków KoNaR. 7 listopada 2014

Git rozproszony system kontroli wersji

System kontroli wersji Git

Rozproszony system kontroli wersji GIT. Piotr Macuk

Programowanie zespołowe

System kontroli wersji GIT. Andrzej Śliwa. java4people 2009

CVS system kontroli wersji

Systemy zarządzania wersjami

Adam Wójs <adam[shift+2]wojs.pl> git --wprowadzenie

Git, Bitbucket. Narzędzia i środowiska programistyczne. Laboratorium 2. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

Assembla.com zajęcia 1

SVN sojusz, partnerstwo, współpraca

Partnerzy: Laboratorium 15

git krótki przewodnik

SUBVERSION TOMASZ ŁUKASZUK

Środowisko programisty. Środowisko programisty 1/35

Tak. Konrad Ktoso Malawski blog.project13.pl - SFI

Git, Bitbucket, IntelliJ IDEA

System kontroli wersji, system zarządzania kodem źródłowym

Open Source w służbie developerom

Zarządzanie projektami informatycznymi

ponad pracowników ponad pracowników ponad pracowników ponad pracowników

Podstawowy warsztat informatyka

Ćwiczenia 9: Zarządzanie konfiguracją Zadania:

Drupal i GIT. Schemat pracy.

Platforma GitHub. 1 Cel laboratoriów. 2 GitHub. 2.1 Git. źródeł.

Projektowanie oprogramowania systemów NARZĘDZIA PRACY GRUPOWEJ, KONTROLI WERSJI, DOKUMENTOWANIA I ŚLEDZENIA BŁĘDÓW

System zarządzania wersjami I Subversion

Git i platforma GitHub

GIT. Rozproszony system kontroli wersji

Systemy kontroli wersji

Programowanie zespołowe

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

1. System kontroli wersji Instalacja programu kontroli wersji CVS

MBUM #2. Zarządzanie kopiami konfiguracji RouterOS. Jacek Rokicki

KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL

Użytkowanie PortableGit w systemie Windows. 1. Najważniejsze informacje

Gra-zabawka dla niemowląt przygotowana z użyciem w Unity 3D

Wprowadzenie do systemu wersjonowania svn

Michał (plucho) Subversion Wykorzystanie i administracja repozytorium

Microsoft Visual SourceSafe uproszczona instrukcja użytkowania

Konfiguracja i administracja systemem kontroli wersji SVN

Narzędzia programistyczne - GIT

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz. 16 lutego Podstawowe funkcje. 2.1 Windows

Programowanie Systemów Wbudowanych

Subversion - jak dziaªa

TortoiseHg + Windows konfiguracja

Systemy kontroli wersji

Systemy kontroli wersji git od wewnatrz Użycie gita Koniec. git. Rozproszony system kontroli wersji. sphere.pl. Koło Naukowe Sfera

Jak usprawnić tworzenie i zarządzanie stroną na drupalu. Maciej Łukiański

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

Podstawowy warsztat informatyka

Przygotowanie platformy projektowo-programowej

Programowanie Zespołowe

Git Podstawowe pojęcia, instalacja i konfiguracja

Ćwiczenia z Git cz. 2

BACKUP BAZ DANYCH FIREBIRD

Systemy Kontroli Wersji

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017

SZYBKI START. Tworzenie nowego połączenia w celu zaszyfrowania/odszyfrowania danych lub tekstu 2. Szyfrowanie/odszyfrowanie danych 4

Subversion. System wersjonowania projektów. Instytut Informatyki Politechnika Poznańska

PERFORCE SYSTEM KONTROLI WERSJI W ZASTOSOWANIACH

Tomasz Greszata - Koszalin

1 Tworzenie własnego zaproszenia dla powłoki bash

Git instrukcja dla studentów

KATEGORIA OBSZAR WIEDZY NR ZADANIA Podstawowe informacje i czynności

System kontroli wersji SVN

Komendy Ubuntu MARCEL GAŃCZARCZYK 2T I 1

Instrukcja konfiguracji funkcji skanowania

Memeo Instant Backup Podręcznik Szybkiego Startu

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika)

Platformy programistyczne:.net i Java WYKŁ AD 1: WPROWADZENIE

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Rozpoczęcie pracy z programem.

Zbuduj prywatną chmurę backupu w firmie. Xopero Backup. Centralnie zarządzane rozwiązanie do backupu serwerów i stacji roboczych

Jako Akwizytor zbieram z repozytorium GIT informacje o historii projektu

SERWER AKTUALIZACJI UpServ

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz 24 czerwca Podstawowe funkcje. 2.1 Windows

Pracownia Komputerowa wyk ad II

Git - Rozproszony System Kontroli Wersji

Tematyka i rozwiązania metodyczne kolejnych zajęć lekcyjnych wraz z ćwiczeniami.

Musesort. Przeczytaj szczegóły pliku. Wyświetla okno ze szczegółami pobranymi z internetu wybranego pliku audio lub video

tworzenie katalogów Aby utworzyć nowy katalog wpisz: mkdir katalog1 Ta komenda utworzy katalog o nazwie katalog1.

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

SubVersion. Piotr Mikulski. SubVersion. P. Mikulski. Co to jest subversion? Zalety SubVersion. Wady SubVersion. Inne różnice SubVersion i CVS

IG1: INSTALACJA KOMUNIKATORA GADU-GADU

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Zasady programowania Dokumentacja

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 4. Karol Tarnowski A-1 p.

OPENSIM-KOMENDY SERWERA

Hurtownie danych - przegląd technologii

Serwer SAMBA UDOSTĘPNIANIE UDZIAŁÓW SIECIOWYCH PIOTR KANIA

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące:

Programowanie obiektowe zastosowanie języka Java SE

Usługi sieciowe systemu Linux

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Transkrypt:

Programowanie I 29.05.2017

Co zostanie wypisane na ekranie? (1) class A { public: void wypisz(int n) { cout << "XXX: " << n << endl; } }; class B : public A { public: void wypisz(double r) { cout << "YYY: " << r << endl; } }; void testuj(a * obiekt_a) { obiekt_a->wypisz(5); } int main() { B obiekt_b; testuj(&obiekt_b); }

Co zostanie wypisane na ekranie? (2) class A { public: void wypisz(int n) { cout << "XXX: " << n << endl; } }; class B : public A { public: void wypisz(int r) { cout << "YYY: " << r << endl; } }; void testuj(a * obiekt_a) { obiekt_a->wypisz(5); } int main() { B obiekt_b; testuj(&obiekt_b); }

Co zostanie wypisane na ekranie? (3) class A { public: virtual void wypisz(int n) { cout << "XXX: " << n << endl; } }; class B : public A { public: void wypisz(int r) { cout << "YYY: " << r << endl; } }; void testuj(a * obiekt_a) { obiekt_a->wypisz(5); } int main() { B obiekt_b; testuj(&obiekt_b); }

Na podstawie odpowiednich komentarzy generuje dokumentację Standardowo HTML i/lub LaTeX Szeroka gama wspieranych języków

Znaczące komentarze /** *... text... */ /*! *... text... */ /// ///... text... /// /********************************************//** *... text ***********************************************/ i inne

Dokumentujemy Pliki Klasy Funkcje (metody) Parametry Zwracane wyniki Inne

Doxygen: Demonstracja

Czym są systemy kontroli wersji Praca w zespole Możliwość powrotu do dowolnego miejsca w historii (rewizja) Możliwość równoległego rozwoju dwóch gałęzi aplikacji Łatwość wersjonowania aplikacji

Różnice

Historia

Równoległy rozwój

Modele pracy Model Scentralizowany SVN CVS Perforce Komputer Plik Serwer Repozytorium Wersja 1 Wersja 2 Komputer Plik Używana jako miejsce przechowywania kopii zapasowej (Backupu) Brak prywatnych branch y Do wykonania większości standardowych operacji wymaga połączenia do serwera.

Modele pracy c.d. Model Rozproszony GIT Mercurial Bazaar Komputer Plik Repozytorium Serwer Repozytorium Wersja 1 Wersja 2 Komputer Plik Repozytorium Wersja 1 Wersja 1 Wersja 2 Wersja 2 Możliwość pracy na wielu zdalnych repozytoriach. Wsparcie dla lokalnych/prywatnych branch y. Nie potrzebuje dostępu do serwera dla większości operacji Pełna historia zmian dostępna lokalnie.

Subversion

Subversion Scentralizowany Prosty w obsłudze Śledzi historie zmian pliku Open-Source Operacje są atomowe (kończą się całkowicie albo w ogóle) Możliwość blokowania edytowanych plików

Podstawowe komendy ( na podstawie TortoiseSVN) SVN Checkout pozwala na pobranie kopii repozytorium z sieci Create repository here tworzy nowe repozytorium w danym miejscu Create folder structure tworzy od razu katalogi tags/branches/trunk Start repobrowser pozwala przeglądać aktualne repozytorium SVN Commit Wrzucenie zmian na serwer SVN Update Pobranie zmian z serwera Revert Przywraca obecny stan lokalnej kopii do stanu z serwera Merge Otwiera edytor który umożliwia łączenie plików (konflikty) Add Dodaje plik do wersjonowania Resolve Pokazuje pliki w konflikcie i próbuje sam je rozwiązać (zmergeować) Update to revision pozwala powrócić do poprzedniej rewizji

Git Rozproszony system kontroli wersji Lokalne repozytoria Napisany przez Linusa Torvaldsa (Twórca Linuksa) Lokalne branche Bulk Commit Open Source

Kilka słów o terminologii Branch - równoległa gałąź projektu rozwijana oddzielnie od głównej. Tag marker konkretnej wersji (rewizja w SVN ie) projektu. Working Dir katalog roboczy na którym pracujemy Index rodzaj cache, czyli miejsca gdzie trzymane są zmiany do commita Master Branch główny branch z którym łączymy (merge) nasze zmiany przed wysłaniem do zdalnego repozytorium.

Schemat prac w GIT ie Większość operacji wykonywanych jest na lokalnym repozytorium. Working Directory Index Katalog gita (folder.git) checkout add commit

Struktura zmian w GIT ie 1. Przechowywanie zawartości projektu jako snapshot ów. 2. Kompresowanie zawartości projektu. Zmiany w czasie Wersja 1 Wersja 2 Wersja 3 Wersja 4 Plik A A A1 A1 Plik B B B B1 Plik C C1 C1 C2

Obiekty GIT a Commit wskazuje na tree oraz ojca, zawiera przykładowo takie informacje jak autor, data i treść wiadomości. Tree reprezentuje stan pojedynczego katalogu (lista obiektów blob oraz zagnieżdżonych obiektów tree) Blob zawiera zawartość pliku bez żadnej dodatkowej struktury Tag wskazuje na konkretny commit oraz zawiera opis taga.

Obiekty GIT a cd.

Podstawowe operacje git init git add git rm git mv git status stworzenie nowego repozytorium dodanie zawartości pliku do Index u usuwa plik z indexu (plik zniknie z working directory po commit ie) przenosi plik pokazuje status katalogu roboczego i poczekalni git config pobiera i ustawia opcje globalne GIT a lub tylko repozytorium

Operacje zdalne Przykładowymi operacjami zdalnymi są: git clone pobiera zdalne repozytorium do podanego folderu git fetch pobiera obiekty i wskaźniki z innego repozytorium git pull pobiera i integruje obiekty i wskaźniki z innego repozytorium git push aktualizuje zdalne repozytorium o wskaźniki i powiązane obiekty.

Podstawowe operacje cd. git commit git log git show zapisuje zmiany do repozytorium lokalnego wyświetla logi z commit ów wyświetla obiekt git fetch zdalnego git pull git push repozytorium pobiera zmiany z repozytorium wywołuje polecenia fetch i merge wysyła zmiany do zdalnego

Podstawowe operacje cd. git branch git checkout git merge git rebase git reset git stash do zarządzania branch ami przełączanie się między branch ami łączy podane branch e zmienia punkt startu dla branch a przywraca stan katalogu roboczego zapisuje/odczytuje zmiany z przestrzeni git gc tymczasowej (rodzaj schowka) porządkowanie i optymalizacja repozytorium

Prezentacja wykorzystania Stworzenie zdalnego repozytorium : > git init Dodanie nowych plików: > git add. > git add readme.txt Struktura projektu. (Plik.git/config) > git config

Prezentacja wykorzystania cd. Pierwszy commit: > git commit -m "Treść wiadomości" Historia : > git log

Prezentacja wykorzystania Stworzenie taga: > git tag v1.00 > git tag v2.00 -m Wersja druga Wypisanie tagów: > git tag Wyświetlenie taga: > git show v2.00

Prezentacja wykorzystania Tworzenie brancha: > git branch mybranch Wyświetlenie branchy: > git branch Przełączanie branchy: > git checkout mybranch Usuwanie brancha: > git branch d mybranch

Prezentacja wykorzystania Łączenie (merge) branchy: > git merge branchname W przypadku konfliktów po poprawkach w łatwy sposób można kontynuować pracę: >git commit -a -m Merge branchy

Prezentacja wykorzystania Historia zmian: > git log > git log --after=22.06.2014.19:20 > git log <nazwa_pliku> Wyszukiwanie odpowiedzialnej osoby: > git blame <nazwa_pliku> > git blame L 12,3 <nazwa_pliku>