Programowanie zespołowe

Podobne dokumenty
Git rozproszony system kontroli wersji

GIT. System Kontroli wersji GIT. Rafał Kalinowski

Co zostanie wypisane na ekranie? (1)

Programowanie I

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

GIT. Rozproszony system kontroli wersji

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

Programowanie Zespołowe

Git i platforma GitHub

Drupal i GIT. Schemat pracy.

Assembla.com zajęcia 1

Narzędzia programistyczne - GIT

System kontroli wersji git

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

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

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

System kontroli wersji Git

Programowanie zespołowe

Open Source w służbie developerom

Git, Bitbucket, IntelliJ IDEA

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

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

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

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

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

git krótki przewodnik

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

Partnerzy: Laboratorium 15

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

Systemy zarządzania wersjami

PERFORCE SYSTEM KONTROLI WERSJI W ZASTOSOWANIACH

Rozproszony system kontroli wersji GIT. Piotr Macuk

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

Środowisko programisty. Środowisko programisty 1/35

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

Systemy Kontroli Wersji

Zarządzanie projektami informatycznymi

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

Replikacja bazy danych polega na kopiowaniu i przesyłaniu danych lub obiektów bazodanowych między serwerami oraz na zsynchronizowaniu tych danych w

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

Proces ciągłej integracji Git + Gerrit + Jenkins. autor : Maciej Pieszała

Ćwiczenia 9: Zarządzanie konfiguracją Zadania:

Nie tylko kod jak jeszcze możesz wspierać wolne oprogramowanie

SVN sojusz, partnerstwo, współpraca

Programowanie zespołowe

Podstawowy warsztat informatyka

CVS system kontroli wersji

System kontroli wersji GIT. Andrzej Śliwa. java4people 2009

Programowanie zespołowe

System zarządzania wersjami I Subversion

Git - Rozproszony System Kontroli Wersji

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

Systemy kontroli wersji

Git instrukcja dla studentów

Python. python 2, python 3 (nowsza specyfikacja języka, choć niekoniecznie częściej używana). Wymagane pakiety

Python. python 2, python 3 (nowsza specyfikacja języka, choć niekoniecznie częściej używana). Wymagane pakiety

Wstęp do Informatyki. Klasyfikacja oprogramowania

Program szkolenia: Continuous Integration i Git

Użytkowanie systemów kontroli wersji.

Spring Web MVC, Spring DI

Linux -- u mnie działa!

SUBVERSION TOMASZ ŁUKASZUK

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

Systemy Open Source w zarządzaniu projektami, na przykładzie Redmine i OpenProject. Rafał Ciszyński

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

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

Referat Pracy Dyplomowej

Programowanie obiektowe

Pla$orma edukacyjna czy to wystarczy? Przygotował: Artur Dyro, Prezes Learnetic S.A.

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

Przygotowanie platformy projektowo-programowej

FORMA SZKOLENIA MATERIAŁY SZKOLENIOWE CENA CZAS TRWANIA

KONFIGURACJA CVS MAREK GRZEŚ

Podstawy i języki programowania

IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla Linux

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

System zarządzający grami programistycznymi Meridius

TortoiseHg + Windows konfiguracja

Wprowadzenie do projektu QualitySpy

Platformy Technologiczne

Integracja produktów Atlassian na przykładzie grupy IPFD

Rozwiązania HP Pull Print

26.X.2004 VNC. Dawid Materna

Programowanie wizualne

Forum Client - Spring in Swing

The current software tools for the JEE platform

IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla System Mac OS

Tworzenie oprogramowania

Globalne referencje dla idempiere Business Suite

Szczegółowa specyfikacja funkcjonalności zamawianego oprogramowania.

Programowanie współbieżne i rozproszone

Instrukcja instalacji oprogramowania dla środowiska Windows

Laboratorium 1: Pierwszy projekt w Angular

Technologie Komponentowe. Piotr Łukasik p /

timetrack Przewodnik Użytkownika timetrack Najważniejsze Funkcje

Wprowadzenie do systemu wersjonowania svn

PRACA GRUPOWA Z WYKORZYSTANIEM REPOZYTORIUM PROJEKTU

Usprawnienie procesu zarządzania konfiguracją. Marcin Piebiak Solution Architect Linux Polska Sp. z o.o.

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux

Strona wizytówka od 400 zł

Transkrypt:

Programowanie zespołowe Laboratorium 8 - wprowadzenie do systemów kontroli wersji i GitHuba mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 kwietnia 2017 1 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Czym jest system kontroli wersji? System kontroli wersji System kontroli wersji (ang. version control system) jest oprogramowaniem wykorzystywanym do śledzenia zmian (przede wszystkim w kodzie źródłowym) oraz wspomagającym łączenie modyfikacji, które zostały naniesione w plikach przez zespół w różnym okresie czasu. 2 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Podział systemów kontroli wersji wg architektury 1 Lokalne (np. RCS) - zapisujące dane jedynie na lokalnym komputerze. 2 Scentralizowane (np. SVN) - oparte na architekturze klient-serwer, gdzie występuje jedno centralne repozytorium, z którym następuje synchronizacja zmian przez wszystkich użytkowników. 3 Rozproszone (np. Git) - oparte na architekturze P2P, gdzie prowadzi się równoprawne i niezależne gałęzie, które można dowolnie synchronizować ze sobą. 3 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Działanie lokalnego systemu kontroli wersji https://git-scm.com/ 4 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Działanie scentralizowanego systemu kontroli wersji https://git-scm.com/ 5 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Działanie rozproszonego systemu kontroli wersji https://git-scm.com/ 6 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Charakterystyka Gita Opis Git jest rozproszonym systemem kontroli wersji stworzonym przez Linusa Torvaldsa (twórca jądra Linux). Korzysta z niego m.in. jquery, Perl, Qt, Ruby on Rails oraz KDE. https://git-scm.com/ 7 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Sposób przechowywania plików w Git cie Git traktuje dane jak zestaw migawek systemu plików - w momencie zapisania stanu projektu tworzony jest obraz zawierający informacje o wyglądzie wszystkich plików w danych momencie, zawierający referencję do danej migawki. https://git-scm.com/ 8 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Popularność Gita https://trends.google.com/ 9 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

GitHub Opis GitHub jest hostingowym serwisem przeznaczonym do przechowywania projektów programistycznych korzystających z systemu kontroli wersji Git. Udostępnia on darmowy hosting dla programów open source oraz płatne repozytoria prywatne. https://revive-adserver.com/ 10 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

GitHub dla studentów https://education.github.com/pack 11 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Waffle - zarządzanie projektami z GitHuba Opis Waffle jest darmowym systemem zarządzania zadaniami w pracy zespołowej silnie zintegrowanym z serwisem GitHub. Ułatwia on prowadzenie projektów zgodnie ze zwinnymi metodykami. https://waffle.io/ 12 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Bitbucket Opis Bitbucket jest hostingowym serwisem przeznaczonym do przechowywania projektów programistycznych korzystających z systemu kontroli wersji Mercurial lub Git. Udostępnia on darmowe repozytoria prywatne (dla maksymalnie 5 kont użytkowników). https://bitbucket.org/ 13 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Jira - zarządzanie projektami z Bitbucket Opis Jira jest zamkniętym oprogramowaniem firmy Atlassian (producent Bitbucketa) służącym do śledzenia błędów oraz zarządzania projektami, zgodnie z metodykami zwinnymi. Aplikacja jest zintegrowana z Bitbucketem. https://jira.atlassian.com/ 14 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Podstawy terminologii GitHuba Repozytorium Repozytorium (ang. repository) to miejsce, w którym przechowywane są wszystkie wersje wszystkich plików źródłowych naszego projektu. Wykonanie kopii Fork umożliwia wykonanie kopii repozytorium. Lokalne zatwierdzenie zmian Commit to proces lokalnego zatwierdzenia modyfikacji. Powinien zawierać informacje dotyczące zmian. Zdalne zatwierdzenie zmian Push to proces wysłania zmian do innego repozytorium (zdalne zatwierdzenie modyfikacji). 15 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Podstawy terminologii GitHuba cz. 2 Pobranie danych Pull lub fetch oznacza proces pobrania zmian z innego repozytorium. Gałęzie Branch umożliwia utworzenie nowej wersji wewnątrz repozytorium (branche pozwalają na prace wielu użytkownik równocześnie, bez nadpisywania zmian po zakończeniu pracy łączy się zmiany z kodem pozostałych i rozwiązuje konflikty). Łączenie kodu Merge umożliwia połączenie wielu zmian z różnych źródeł, które może spowodować wystąpienie sprzecznych modyfikacji wymagających ręcznej naprawy (merge conflict). 16 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Podstawy terminologii GitHuba cz. 3 Wykonanie migawki pliku Add umożliwia wykonanie migawki pliku. Przełączenie między gałęziami Checkout pozwala na przełączenie między gałęziami (branches). 17 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Schemat działania - etap lokalny https://git-scm.com/ 18 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Schemat działania - życie pliku https://git-scm.com/ 19 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Schemat działania - etap zdalny http://bartoz.no-ip.org/ 20 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Ściąga GitHub GIT CHEAT SHEET. https://services.github.com/on-demand/ downloads/github-git-cheat-sheet.pdf 21 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Zadania 1 Załóż konto na https://github.com 22 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Zadania 1 Załóż konto na https://github.com 2 Pobierz i zainstaluj GitHub Desktop https://desktop.github.com 22 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Zadania 1 Załóż konto na https://github.com 2 Pobierz i zainstaluj GitHub Desktop https://desktop.github.com 3 Wykonaj dołączony do programu tutorial. 22 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Zadania 1 Załóż konto na https://github.com 2 Pobierz i zainstaluj GitHub Desktop https://desktop.github.com 3 Wykonaj dołączony do programu tutorial. 4 Niech lider założy repozytorium dla zadania projektowego i doda wszystkich członków zespołu. 22 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Zadania 1 Załóż konto na https://github.com 2 Pobierz i zainstaluj GitHub Desktop https://desktop.github.com 3 Wykonaj dołączony do programu tutorial. 4 Niech lider założy repozytorium dla zadania projektowego i doda wszystkich członków zespołu. 5 Powiążcie projekt z https://waffle.io 22 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Git Shell Można zrobić coś w 20 sekund przez GUI, ale kodem wygląda kozacko. Artur Z., programista 23 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Przykład w Git Shell 24 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Dziękuję za uwagę 25 / 25 mgr inż. Krzysztof Szwarc Programowanie zespołowe