ponad 90 000 pracowników ponad 60 000 pracowników ponad 30 000 pracowników ponad 3 000 pracowników

Podobne dokumenty
Programowanie I

Co zostanie wypisane na ekranie? (1)

Programowanie zespołowe

GIT. System Kontroli wersji GIT. Rafał Kalinowski

GIT. Rozproszony system kontroli wersji

Git rozproszony system kontroli wersji

Środowisko programisty. Środowisko programisty 1/35

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

Ćwiczenia 9: Zarządzanie konfiguracją Zadania:

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

System kontroli wersji git

Systemy zarządzania wersjami

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

Programowanie zespołowe

Zarządzanie projektami informatycznymi

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

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux

System kontroli wersji Git

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

CVS system kontroli wersji

Rozproszony system kontroli wersji GIT. Piotr Macuk

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

git krótki przewodnik

Wprowadzenie do systemu wersjonowania svn

Michał (plucho) Subversion Wykorzystanie i administracja repozytorium

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

Drupal i GIT. Schemat pracy.

Partnerzy: Laboratorium 15

Podstawowy warsztat informatyka

Assembla.com zajęcia 1

Open Source w służbie developerom

Git i platforma GitHub

Podstawowy warsztat informatyka

SUBVERSION TOMASZ ŁUKASZUK

Stworzenie programu KSIĄŻKA ADRESOWA posiadającego funkcjonalności przechowywania danych o osobach dodanych przez użytkownika.

MANUAL KOLEJKI OCZEKUJĄCYCH

Subversion - jak dziaªa

Microsoft Visual SourceSafe uproszczona instrukcja użytkowania

AKADEMIA GÓRNICZO-HUTNICZA. Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki KATEDRA INFORMATYKI. SyncFile

PRACA DYPLOMOWA INŻYNIERSKA

Spring Web MVC, Spring DI

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Aplikacje WWW - laboratorium

Klasa I. 1. Komputer wśród nas 2 godz Bezpieczeństwo i higiena pracy przy komputerze.

Program powinien otworzyć się z pierwszym formularzem. Jeśli nie, otwórz pierwszy formularz, wybierając go z listy - Shift+F12.

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Systemy kontroli wersji

KURS KOMPUTEROWY TEST POZIOMUJĄCY

MAMP Mac + Apache + MySQL + PHP. Kraków 8 czerwca 2009, Adam Strzelecki,

System Zarządzania Treścią

Generatory pomocy multimedialnych

Programowanie Zespołowe

Przepis na przygotowanie / skomponowanie dzwonka do telefonu, czyli o tym, jak stworzyć krótką formę muzyczną

Delphi 7 + Indy 10 Przykłady prostych aplikacji sieciowych

7. Pętle for. Przykłady

PAKIETY STATYSTYCZNE

1. System kontroli wersji Instalacja programu kontroli wersji CVS

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

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

PHP: bazy danych, SQL, AJAX i JSON

Instrukcja migracji z programu Proste Faktury do programu DuoKomp Sprzedaż i Magazyn

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

Instrukcja dotycząca konwersji dokumentów LaTeX do plików w formacie RTF

Konfiguracja serwera Apache jako serwera repozytorium kodu SVN

Instrukcja dotycząca konwersji dokumentów LaTeX do plików w formacie RTF

Spis treści. tel.:

Konfiguracja współpracy urządzeń mobilnych (bonowników).

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

Systemy Kontroli Wersji

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Instalacja i opis podstawowych funkcji programu Dev-C++

Krótkie wprowadzenie do ModelSim i Quartus2

Wykaz zmian w programie SysLoger

System zarządzania wersjami I Subversion

Kerio MailServer 6.4 Mobile groupware. In the office. On the road. At home.

Serwer pocztowy. QmaiLux. Dokumentacja techniczna mechanizmu książek adresowych (qbook)

Wykaz zmian w programie SysLoger

Wymagania edukacyjne

BACKUP BAZ DANYCH FIREBIRD

Edytor Edit+ - dodawanie zdjęć i. załączników. Instrukcja użytkownika

Jak posługiwać się edytorem treści

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

QualitySpy moduł persystencji

Podstawy technologii WWW

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL

Za pomocą niniejszej instrukcji baza programu MAK zostanie przygotowania do eksportu na METALIB.

INSTALACJA I KONFIGURACJA SERWERA PHP.

Instrukcja instalacji serwera bazy danych Microsoft SQL Server Express 2014

Dokumentacja kompilacji źródeł aplikacji 1.0

Instrukcja aktualizacji Windows 7 do Windows 8 na komputerach ADAX v.0.2

Wstęp do systemów wielozadaniowych laboratorium 03 Praca w powłoce UNIX-owej

Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza

Instrukcja instalacji oprogramowania dla środowiska Windows

Podstawy administracji systemu Linux

Firma Informatyczna ASDER. Prezentacja. Serwer danych lokalnych. Przemysław Kroczak ASDER

Konfiguracja i administracja systemem kontroli wersji SVN

Specyfikacja testów akceptacyjnych Radosław Iglantowicz, Tomasz Bruździński,

SVN sojusz, partnerstwo, współpraca

Transkrypt:

ponad 90 000 pracowników ponad 60 000 pracowników ponad 30 000 pracowników ponad 3 000 pracowników

finanse firmy Ventures Capital, a potem reklamy kwestie socjalne darmowe jedzenie, transport do pracy, pranie, sporty kwestie lokalowe ciągłe przeprowadzki do coraz większych biur, mnóstwo lokalizacji w Dolinie Krzemowej rzesza programistów!

Problemy: współdzielenie kodu konflikty występujące w zmianach naprawianie/wycofywanie usterek zawodność elektroniki Przykład: edytor tekstu Text firmy X.

Serwer - repozytorium Komputer programisty cały kod lokalna kopia kodu

Standardowe kroki: 1. Pobranie aktualnej wersji repozytorium (svn update). 2. Zmiany: svn add, svn delete, svn move, svn copy, edycja plików 3. Wysłanie pakietu zmian na serwer (svn commit).

Początkowe repozytorium Zmiany pierwszego programisty Zmiany drugiego programisty Zmiany pierwszego programisty itd. wersja 1 wersja 2 wersja 3 wersja 4

Przykładowe konflikty: dwie osoby zmieniają ten sam plik jeden programista wprowadził zmiany w pliku, a drugi w tym samym czasie przeniósł go albo usunął Co wtedy? komenda svn commit nie powiedzie się pechowiec musi rozwiązać konflikty

linia niezmieniona <<<<<<<.mine // nowy kod #define ZWIERZĘ ŚWISTAK ======= // stary kod #define ZWIERZĘ ŚLIMAK >>>>>>>.r214565 linia niezmieniona

Początkowe repozytorium Zmiany pierwszego programisty Zmiany drugiego programisty Zmiany pierwszego programisty wersja 1 wersja 2 wersja 3 wersja 4

Początkowe repozytorium Zmiany pierwszego programisty Zmiany drugiego programisty Zmiany pierwszego programisty wersja 1 wersja 2 wersja 3 wersja 4

Przykładowy scenariusz: Firma X pracuje nad edytorem Text. Firma wypuszcza stabilną wersję Text 2010. Firma równolegle wprowadza poprawki do Text 2010 i szykuje Text 2011 5G na komórki. Firma wypuszcza Text 2011 5G. Teraz firma równocześnie wprowadza poprawki do dwóch wersji i szykuje Text 2012

Text 2010 bugfix bugfix Text 2011 5G bugfix master master master master master Text 2012

Kolejny scenariusz: W bieżącym repozytorium jest prosta wersja modułu do wstawiania obrazków. W tym czasie grupa programistów pracuje nad ulepszonym modułem do obrazków 3D. Po zakończeniu prac grupa chciałaby umieścić swoje zmiany w głównym repozytorium (master), tak aby znalazły się w wersji Text 2012.

Text 2010 bugfix bugfix Text 2011 5G bugfix master master master master master obrazki obrazki Text 2012

Przypadek jednego programisty: Zajmuje się modułem do obrazków: usuwaniem tła z obrazków i przerabianiem ich na czarno-białe. Czasem wprowadza drobne poprawki do modułu do wstawiania wzorów matematycznych. Często wyjeżdża i nie ma wtedy dostępu do serwera z repozytorium.

System kontroli wersji stworzony przez Linusa Torvaldsa, wykorzystywany w pracach nad jądrem Linuksa. Z Wikipedii: Prace nad Gitem rozpoczęły się 3 kwietnia 2005 roku, projekt został ogłoszony 6 kwietnia, 7 kwietnia Git obsługiwał kontrolę wersji swojego własnego kodu, 18 kwietnia pierwszy raz wykonano łączenie kilku gałęzi kodu, 27 kwietnia Git został przetestowany pod względem szybkości z wynikiem 6,7 łat na sekundę, a 16 czerwca Linux 2.6.12 był hostowany przez Gita.

master master master master master obrazki wzory usuwanie tła czarnobiałe

my_master obrazki wzory usuwanie tła czarnobiałe

usuwanie tła zmiana 1 zmiana 2 my_master obrazki czarnobiałe zmiana 1 zmiana 2 wzory zmiana 1 zmiana 2 zmiana 3

pick f408319 wzory pick fc62e55 zmiana 1 pick 9824bf4 zmiana 2 pick 21d80a5 zmiana 3 # Commands: # p, pick = use commit # e, edit = use commit, but stop for amending # s, squash = use commit, but meld into previous commit # # If you remove a line here THAT COMMIT WILL BE LOST. # However, if you remove everything, the rebase will be aborted.

usuwanie tła zmiana 1 zmiana 2 my_master obrazki czarnobiałe zmiana 1 zmiana 2 wzory zmiana 1 zmiana 2 zmiana 3

usuwanie tła zmiana 1 zmiana 2 my_master obrazki czarnobiałe zmiana 1 zmiana 2 wzory zmiana 1 zmiana 2 zmiana 3

usuwanie tła zmiana 1 zmiana 2 my_master obrazki czarnobiałe zmiana 1 zmiana 2 wzory zmiana 1 zmiana 2 zmiana 3

usuwanie tła zmiana 1 zmiana 2 my_master obrazki czarnobiałe zmiana 1 zmiana 2 wzory zmiana 1 zmiana 2 zmiana 3

usuwanie tła zmiana 1 zmiana 2 my_master obrazki czarnobiałe zmiana 1 zmiana 2 wzory zmiana 1 zmiana 2 zmiana 3

usuwanie tła zmiana 1 zmiana 2 my_master obrazki czarnobiałe zmiana 1 zmiana 2 wzory zmiana 1 zmiana 2 zmiana 3

usuwanie tła zmiana 1 zmiana 2 my_master obrazki czarnobiałe zmiana 1 zmiana 2 wzory zmiana 1 zmiana 2 zmiana 3

usuwanie tła zmiana 1 zmiana 2 my_master obrazki czarnobiałe zmiana 1+2 wzory zmiana 1 zmiana 2 zmiana 3

usuwanie tła zmiana 1 zmiana 2 my_master obrazki czarnobiałe zmiana 1+2 wzory zmiana 1 zmiana 2 zmiana 3

usuwanie tła zmiana 1 zmiana 2 my_master obrazki czarnobiałe zmiana 1+2 wzory zmiana 2 zmiana 1 zmiana 3

usuwanie tła zmiana 1 zmiana 2 my_master obrazki czarnobiałe zmiana 1+2 wzory zmiana 2 zmiana 1 zmiana 3

my_master obrazki usuwanie tła czarnobiałe zmiana 1a zmiana 1b zmiana 2 zmiana 1+2 wzory zmiana 2 zmiana 1 zmiana 3

master master master merge zmiana 1 zmiana 2

master master master zmiana 1 zmiana 2 zmiana 1 zmiana 2

Podobnie jak w pracy naukowej, fragmenty kodu przed zaakceptowaniem są poddawane recenzji współpracowników. Taka recenzja może trochę potrwać

usuwanie tła zmiana 1 zmiana 2 my_master obrazki czarnobiałe zmiana 1 zmiana 2 wzory zmiana 1 zmiana 2 zmiana 3

Każdej nocy sprawdzana jest poprawność kompilacji kodu na wszystkich platformach (różne systemy operacyjne i różne rodzaje urządzeń mobilnych). Jak szukać błędu, jeśli się nie skompilowało?

master master master master master OK ŹLE

master master master master master OK ŹLE

master master master master master OK ŹLE ŹLE

master master master master master OK ŹLE ŹLE

master master master master master OK OK ŹLE

master master master master master OK OK ŹLE

Wszystkie wielkie korporacje informatyczne wykorzystują systemy kontroli wersji. Ale czy są one przydatne zwykłemu śmiertelnikowi? TAK! małe projekty informatyczne redakcja książek nawet dla jednej osoby!

Text 2010 bugfix bugfix Text 2011 5G bugfix master master master master master obrazki obrazki Text 2012