Programowanie. Systemy kotroli wersji. Janusz Szwabiński. Plan wykładu:

Wielkość: px
Rozpocząć pokaz od strony:

Download "Programowanie. Systemy kotroli wersji. Janusz Szwabiński. Plan wykładu:"

Transkrypt

1 Programowanie Systemy kotroli wersji Janusz Szwabiński Plan wykładu: Motywacja Przegląd dostępnych systemów Git Git na Windows Github Subversion Subversion na Windows Dobre praktyki kontroli wersji Materiały do wykładu Dokumentacja gita: ( Essential git, ( A. Bystrek, Git tutorial - jak zacząc z Git, ( Dokumentacja SVN: ( TortoiseSVN: ( Dokumentacja Mercuriala: ( file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 1/39

2 Motywacja Z życia wzięte... Brak kontroli wersji często spotykany w jednoosobowych projektach często generujący całkowitą lub częściową utratę plików (głównie przez nadpisanie) Ręczna kontrola wersji file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 2/39

3 ciągle popularna metoda historia zmian często wpisana do plików źródłowych ręczne kopie zapasowe uciążliwe scalanie zmian pochodzących od różnych programistów file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 3/39

4 słabo skaluje się z liczbą programistów bardzo trudno jest zachować informację o kolejności i autorstwie zmian podatna na błędy, zwłaszcza w "gorących" okresach życia projektu w przypadku problemów wymaga z reguły dużych nakładów czasu i pracy potrzebnych do odtworzenia projektu Systemy kontroli wersji system kontroli wersji (ang. version/revision control system) oprogramowanie przechowujące historię zmian dokonanych w kodzie źródłowym lub innych dokumentach po co?: ułatwienie kontroli nad projektem śledzenie zmian w projekcie przechowywanie różnych wersji projektu ułatwienie współpracy nad projektem szybki powrót do ostatniej działającej wersji w przypadku błędów automatyzacja kopii zapasowych rodzaje: lokalne rozproszone scentralizowane file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 4/39

5 Przegląd dostępnych systemów CVS Subversion Git Microsoft Visual SourceSafe Visual Studio Team System Mercurial Bazaar Darcs SVK file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 5/39

6 Git Krótka historia Git jądro Linuksa jest dużym projektem otwartego oprogramowania w latach zmiany w źródle były przekazywane jako łaty (ang. patches) i zarchiwizowane pliki w 2002 projekt jądra Linuksa zaczął używać systemu DVCS BitKeeper w 2005 cofnięto projektowi pozwolenie na nieodpłatne używanie systemu skłoniło to twórcę Linuksa, Linusa Torvaldsa, i pozostałych programistów do stworzenia własnego systemu cechy tego systemu zdefiniowane zostały na podstawie wiedzy wyniesionej z używania BitKeepera: szybkość prosta konstrukcja silne wsparcie dla nieliniowego rozwoju (tysiące równoległych gałęzi) wydajna obsługa dużych projektów w wyniku tych prac powstał Git obecnie to jeden z najpopularniejszych rozproszonych systemów kontroli wersji Podstawy Git Migawki większość systemów kontroli wersją przechowuje informacje jako listę zmian na plikach: Git traktuje dane jak zestaw migawek (ang. snapshots) małego systemu plików przy każdym wysłaniu zmian albo zapisaniu stanu projektu Git tworzy obraz przedstawiający to jak wyglądają wszystkie pliki w danym momencie i przechowuje referencję do tej migawki w celu uzyskania dobrej wydajności, jeśli dany plik nie został zmieniony, Git nie zapisuje ponownie tego pliku, a tylko referencję do jego poprzedniej, identycznej wersji file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 6/39

7 Operacje o charakterze lokalnym większość operacji w Git do działania wymaga jedynie dostępu do lokalnych plików i zasobów nie są potrzebne żadne dane przechowywane na innym komputerze w sieci kompletna historia projektu znajduje się w całości na dysku lokalnym dzięki temu odnosi się wrażenie, że większość operacji działa niemal natychmiast dzięki temu również można zrobić prawie wszystko będąc poza zasięgiem sieci: jeśli synchronizujemy zmiany z serwerem zdalnym, możemy przesłać cały ich pakiet po odzyskaniu połączenia z siecią Mechanizmy spójności danych dla każdego obiektu Git wyliczana jest suma kontrolna (skrót SHA-1) przed jego zapisem na jej podstawie można odwoływać się do danego obiektu nie ma możliwości zmiany zawartości żadnego pliku, czy katalogu bez reakcji ze strony Git nie ma szansy na utratę informacji, czy uszkodzenie zawartości pliku podczas przesyłania lub pobierania danych, bez możliwości wykrycia takiej sytuacji przez Git Trzy stany git wyróżnia 3 stany plików: zatwierdzony - dane zapisane bezpiecznie w lokalnej bazie danych zmodyfikowany - plik został zmieniony, ale zmiany nie zostały wprowadzone do bazy śledzony - plik został przeznaczony do zatwierdzenia w bieżącej postaci w następnej operacji zatwierdzania zmian (ang. commit) ze stanami związane są 3 główne sekcje projektu Git: katalog Git (repozytorium) - miejsce, w którym Git przechowuje własne metadane oraz obiektową bazę danych projektu. To najważniejsza część Git i to właśnie ten katalog jest kopiowany podczas klonowania repozytorium z innego komputera katalog roboczy - obraz jednej wersji projektu. Zawartość tego katalogu pobierana jest ze skompresowanej bazy danych zawartej w katalogu Git i umieszczana na dysku w miejscu, w którym można ją odczytać lub zmodyfikować przechowalnia (staging area) - prosty plik, zwykle przechowywany w katalogu Git, który zawiera informacje o tym, czego dotyczyć będzie następna operacja zatwierdzania zmian file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 7/39

8 Instalacja Git najlepszą metodą jest instalacja ze źródeł, do pobrania pod adresem ( w ten sposób mamy do dyspozycji najnowszą wersję pakiety binarne pod Linuksem: yum install git-core apt-get install git pakiety binarne dla MacOS: sudo port install git-core +svn +doc +bash_completion +gitweb instalacja w systemie Windows instalator do pobrania pod adresem ( file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 8/39

9 Wstępna konfiguracja git config - narzędzie konfiguracyjne konfigurację wystarczy przeprowadzić raz - będzie obowiązywać również po aktualizacji Gita trzy pliki konfiguracyjne (każdy z nich ma priorytet wyższy od poprzednika): /etc/gitconfig - wartości zmiennych widoczne dla każdego użytkownika w systemie oraz dla każdego z ich repozytoriów. Dodając opcję --system do polecenia git config, odczytane bądź zapisane zostaną zmienne z tej właśnie lokalizacji ~/.gitconfig - lokalizacja specyficzna dla danego użytkownika. Za pomocą opcji -- global można uzyskać dostęp do tych właśnie zmiennych plik konfiguracyjny w katalogu git bieżącego repozytorium (tzn..git/config) zawiera konfigurację charakterystyczną dla tego konkretnego repozytorium Tożsamość użytkownika git config --global user.name "Jan Nowak" git config --global user. jannowak@example.com opcja --global powoduje, że każda operacja będzie od tego momentu korzystała z tych danych jeśli zaistnieje potrzeba zmiany tych informacji dla konkretnego projektu, można skorzystać z git config bez opcji --global Edytor git config --global core.editor nano domyślny edytor tekstowy w przeciwnym razie Git będzie korzystał z vi/vim, które zazwyczaj są zainstalowane w systemie (z rodziny Unix/Linux) Narzędzie obsługi różnic git config --global merge.tool vimdiff używane przy rozstrzyganiu różnic i problemów podczas edycji konfliktów powstałych w czasie operacji łączenia (ang. merge) inne możliwe narzędzia: kdiff3, tkdiff, meld, xxdiff, emerge, gvimdiff, ecmerge oraz opendiff Sprawdzanie ustawień git config --list git config user.name file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 9/39

10 Pierwsze kroki - uzyskiwanie pomocy git help <polecenie> git <polecenie> --help man git-<polecenie> nie wymagają połączenia z Internetem Pierwsze repozytorium Git dwie metody: importowanie istniejącego katalogu lub projektu do Gita sklonowanie istniejącego repozytorium z serwera Inicjalizacja Git w istniejącym katalogu przechodzimy do katalogu projektu (może być pusty) wykonujemy polecenie git init utworzony zostanie podkatalog.git zawierający wszystkie niezbędne pliki - szkielet repozytorium Git jeśli w katalogu znajdowały się jakieś pliki, powinniśmy rozpocząć ich śledzenie i utworzyć początkową wersję projektu poleceniami: git add *.py git add Readme git commit -m 'Initial project version' Klonowanie istniejącego repozytorium poleceniem clone pobierzemy kopię niemalże wszystkich danych posiadanych przez serwer git clone git://github.com/vinta/awesome-python kilka protokołów transmisji: git, http(s), ssh file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 10/39

11 Rejestrowanie zmian w repozytorium za każdym razem, kiedy po naniesieniu zmian projekt osiągnie stan, który powinien być zapamiętany, należy zatwierdzić nowe wersje plików w repozytorium kiedy zmieniamy pliki, Git zapamiętuje je jako zmodyfikowane (różnią się od ostatniej zatwierdzonej zmiany) zmodyfikowane pliki należy umieścić w poczekalni, a następnie zatwierdzić wszystkie oczekujące tam zmiany: Sprawdzanie stanu plików git status #On branch master #Your branch is up-to-date with 'origin/master'. #nothing to commit, working directory clean taki komunikat oznacza, że katalog roboczy nie zawiera śledzonych i zmodyfikowanych plików Git nie widzi również żadnych plików nieśledzonych dodajmy do repozytorium nowy plik README i ponownie sprawdźmy status: vim README git status On branch master Your branch is up-to-date with 'origin/master'. Untracked files: (use "git add <file>..." to include in what will be committed) README nothing added to commit but untracked files present (use "git add" to track) file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 11/39

12 nowy plik README nie jest jeszcze śledzony nieśledzony oznacza, że Git widzi plik, którego nie było w poprzedniej migawce (tzn. zatwierdzonej kopii) Git nie zacznie umieszczać go w przyszłych migawkach, dopóki sami tego nie polecimy Śledzenie nowych plików git add README git status On branch master Your branch is up-to-date with 'origin/master'. Changes to be committed: (use "git reset HEAD <file>..." to unstage) nowy plik: README Dodawanie zmodyfikowanych plików do poczekalni vi sort.py git status On branch master Your branch is up-to-date with 'origin/master'. Changes to be committed: (use "git reset HEAD <file>..." to unstage) nowy plik: README Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) zmodyfikowany: sort.py plik sort.py został zmieniony, ale modyfikacje nie trafiły jeszcze do poczekalni git add sort.py git status On branch master Your branch is up-to-date with 'origin/master'. Changes to be committed: (use "git reset HEAD <file>..." to unstage) nowy plik: README zmodyfikowany: sort.py file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 12/39

13 Podglądanie zmian git diff --cached diff --git a/readme b/readme new file mode index a97f5a --- /dev/null +++ b/readme -0,0 +1 +To jest nowy plik diff --git a/sort.py b/sort.py index d646c3f..25d2c a/sort.py +++ b/sort.py -1,5 +1,5 # coding: utf-8 - +# test """ The approach taken is explained below. I decided to do it simply. Initially I was considering parsing the data into some sort of Zatwierdzanie zmian git commit -m "Zmiany ilustrujące zasady działania Gita" [master 80d29af] Zmiany ilustrujące zasady działania Gita 2 files changed, 2 insertions(+), 1 deletion(-) create mode README Usuwanie plików należy usunąć plik ze zbioru plików śledzonych, a następnie zatwiedzić zmiany polecenie git rm automatycznie usuwa plik z katalogu roboczego zmiana musi zostać zatwierdzona file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 13/39

14 git rm README rm 'README' git status On branch master Your branch is ahead of 'origin/master' by 1 commit. (use "git push" to publish your local commits) Changes to be committed: (use "git reset HEAD <file>..." to unstage) usunięty: README git commit -m "Usunięcie pliku Readme" [master 94ca90a] Usunięcie pliku Readme 1 file changed, 1 deletion(-) delete mode README git status On branch master Your branch is ahead of 'origin/master' by 2 commits. (use "git push" to publish your local commits) nothing to commit, working directory clean file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 14/39

15 Podgląd historii rewizji git log commit 94ca90aaeaa2bc736037ed11accb31f155a60e31 Author: Janusz Szwabiński Date: Mon May 22 14:53: Usunięcie pliku Readme commit 80d29af0c9e167d d912ee388e1f4a81ab Author: Janusz Szwabiński Date: Mon May 22 14:47: Zmiany ilustrujące zasady działania Gita commit efb1cb6181a725548e c2df50bcfc4bed Merge: a25069d Author: Vinta Date: Wed May 3 21:46: Merge pull request #881 from nikos/patch-1 Added awesome pysolr library to Search section. <snip> git log --pretty=oneline 94ca90aaeaa2bc736037ed11accb31f155a60e31 Usunięcie pliku Readme 80d29af0c9e167d d912ee388e1f4a81ab Zmiany ilustrujące zasady działa nia Gita <snip> git log --since=10.minutes commit 94ca90aaeaa2bc736037ed11accb31f155a60e31 Author: Janusz Szwabiński <szwabin@gmail.com> Date: Mon May 22 14:53: Usunięcie pliku Readme file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 15/39

16 Etykietowanie możliwość etykietowania ważnych miejsc w historii projektu większość użytkowników wykorzystuje to do zaznaczania ważnych wersji kodu (np. wersja 1.0) Tworzenie etykiet git tag -a v0.1 -m 'Moja wersja 0.1' Wyświetlanie etykiet git tag v0.1 git show v0.1 tag v0.1 Tagger: Janusz Szwabiński <szwabin@gmail.com> Date: Tue May 23 09:12: Moja wersja 0.1 commit 400d0d3b875976b75242b93e94753ed3926e9f9f Author: szwabin <szwabin@gmail.com> Date: Mon May 22 15:28: Initial commit diff --git a/readme.md b/readme.md new file mode index e2a /dev/null ,0 +# pytrek +A StarTrek inspired shooter file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 16/39

17 Gałęzie gałąź w Gicie to przesuwalny wskaźnik na jakąś migawkę projektu domyślna nazwa gałęzi to master tworząc nową gałąź, dodajemy wskaźnik, który potem będziemy mogli przesuwać początkowo jednak nowa gałąź wskazuje na ten sam zestaw zmian, co master git branch testing Git utrzymuje specjalny wskaźnik HEAD, który zawiera informację o aktualnej gałęzi dodanie nowej gałęzi nie powoduje automatycznego przełączenia do niej file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 17/39

18 polecenie git checkout służy do przełączania się między gałęziami git checkout testing zmiany dodawane są tylko do aktualnej gałęzi vim test.rb git commit -a -m 'zmiana' file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 18/39

19 powrót do gałęzi master cofnie nas do stanu projektu sprzed ostatniej zmiany git checkout master kolejne zmiany doprowadzą do rozgałęzienia historii projektu vim test.rb git commit -a -m 'inna zmiana' file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 19/39

20 gałęzie w Gicie są chętnie używane, ponieważ są tanie w tworzeniu i usuwaniu (inaczej niż w większości systemów kontroli wersji) file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 20/39

21 Podstawy rozgałęziania i scalania - przykład Scenariusz pracujemy nad stroną internetową tworzymy gałąź dla wersji z nową funkcją, którą akurat implementujemy dalsze prace odbywają się w nowej gałęzi otrzymujemy telefon od szefa/klienta, że inny problem jest obecnie priorytetowy i potrzeba błyskawicznej poprawki wracamy do gałęzi produkcyjnej tworzymy nową gałąź, by dodać tam poprawkę po przetestowaniu scalamy gałąź z poprawką i "wypychamy" zmiany na serwer produkcyjny wracamy do gałęzi z nową funkcją i kontunuujemy implementacje Przebieg pracy z Gitem załóżmy, że pracujemy już z projektem i mamy zatwierdzonych kilka zmian w systemie śledzenia zgłoszeń pojawił się bardzo ważny problem nr 53, którym chcemy się zająć w pierwszej kolejności tworzymy nową gałąź, jednocześnie się na nią przełączając git checkout -b iss53 Switched to a new branch "iss53" pracujemy nad stroną w nowej gałęzi i zatwierdzamy kolejne zmiany - aktualna gałąź przesuwa się do przodu vim index.html git commit -a -m 'nowa stopka [#53]' file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 21/39

22 po otrzymaniu wiadomości o błędzie do natychmiastowej poprawki wracamy do gałęzi produkcyjnej git checkout master Switched to branch "master" w tym momencie projekt jest dokładnie w takim samym stanie, jak przed przejściem do gałęzi iss53 tworzymy kolejną gałąź, w ramach której poprawimy błąd git checkout -b 'hotfix' Switched to a new branch "hotfix" vim index.html git commit -a -m 'poprawiony adres ' [hotfix]: created 3a0874c: "poprawiony adres " 1 files changed, 0 insertions(+), 1 deletions(-) po przetestowaniu okazuje się, że błąd został usunięty, dlatego możemy scalić gałąź błędu z gałęzią master git checkout master git merge hotfix Updating f42c576..3a0874c Fast forward README 1-1 files changed, 0 insertions(+), 1 deletions(-) file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 22/39

23 ponieważ gałąź master była bezpośrednim rodzicem aktualnego zestawu zmian, Git przesuwa jej wskaźnik do przodu usuwamy gałąź hotfix, bo nie jest już potrzebna git branch -d hotfix Deleted branch hotfix (3a0874c) możemy teraz wrócić do przerwanej wcześniej pracy nad nową funkcją git checkout iss53 Switched to branch "iss53" vim index.html git commit -a -m 'skończona nowa stopka [#53]' [iss53]: created ad82d7a: "skończona nowa stopka [#53]" 1 files changed, 1 insertions(+), 0 deletions(-) po zakończeniu pracy możemy scalić tę gałąź z gałęzią master git checkout master git merge iss53 file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 23/39

24 Merge made by recursive. README files changed, 1 insertions(+), 0 deletions(-) w tym wypadku jest to tzw. scalenie trójstronne (ang. three-way merge), ponieważ historia rozwoju została rozszczepiona na wcześniejszym etapie - Git używa dwóch migawek wskazywanych przez końcówki gałęzi i ich wspólnego przodka (najlepszy przodek wybierany jest automatycznie) w wyniku scalenia Git tworzy w tym przypadku nową migawkę pracę kończymy usuwając gałąź iss53 git branch -d iss53 file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 24/39

25 Konflikty scalania czasami zdarza się, że ten sam plik został w różnych gałęziach różnie zmodyfikowany taka sytuacja to konflikt - Git nie rozwiąże jej samodzielnie jeśli np. poprawka problemu #53 z powyższego przykładu zmieniła tę samą część pliku, co zmiana w gałęzi hotfix, podczas scalania pojawi się komunikat o konflikcie git merge iss53 Auto-merging index.html CONFLICT (content): Merge conflict in index.html Automatic merge failed; fix conflicts and then commit the result. zmiana scalająca nie została zatwierdzona w każdej chwili możemy podglądnąć pliki, które nie zostały scalone git status index.html: needs merge On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) unmerged: index.html niescalony plik zawiera mniej więcej coś takiego <<<<<<< HEAD:index.html <div id="footer">contact : .support@github.com</div> ======= <div id="footer"> please contact us at support@github.com </div> >>>>>>> iss53:index.html konflikt możemy usunąć ręcznie, edytując odpowiednie pliki i zatwierdzając ich zmiany lub korzystając z odpowiedniego narzędzia file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 25/39

26 git mergetool merge tool candidates: kdiff3 tkdiff xxdiff meld gvimdiff opendiff emerge vimdiff Merging the files: index.html Normal merge conflict for 'index.html': {local}: modified {remote}: modified Hit return to start merge resolution tool (opendiff): po usunięciu konfliktu zatwierdzamy zmiany przy pomocy git commit file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 26/39

27 Git na Windows Wstępna konfiguracja Git poszukuje pliku.gitconfig w katalogu %HOME% (C:\Documents and Settings\%USERNAME% w większości przypadków). Git sprawdza również istnienie pliku /etc/gitconfig, ale w tym wypadku katalog ten jest katalogiem względnym do katalogu instalacji MSysGit Konsola Gita po zainstalowaniu msysgit klikamy w menedżerze plików na ikonę katalogu projektu prawym przyciskiem myszki i wybieramy z menu kontekstowego polecenie Git Bash w powłoce Gita możemy wykonać wszystkie polecenia wspomniane wcześniej Git GUI file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 27/39

28 SourceTree ( ( SmartGit ( ( TortoiseGit ( ( file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 28/39

29 Github serwis internetowy przeznaczony głównie dla programistów wykorzystuje Git darmowy hosting programów open source płatne prywatne repozytoria działa od mln aktywnych repozytoriów w 2016 Tworzenie nowego projektu file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 29/39

30 Klonowanie projektu file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 30/39

31 git clone git://github.com/szwabin/pytrek Cloning into 'pytrek'... remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Receiving objects: 100% (3/3), done. Checking connectivity... done. cd pytrek/ ls README.md Zdalne wprowadzanie zmian file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 31/39

32 vi README.md git commit -a -m 'Name added' [master 5ae42c5] Name added 1 file changed, 2 insertions(+) git push warning: push.default is unset; its implicit value has changed in Git 2.0 from 'matching' to 'simple'. To squelch this message and maintain the traditional behavior, use: git config --global push.default matching To squelch this message and adopt the new behavior now, use: git config --global push.default simple When push.default is set to 'matching', git will push local branches to the remote branches that already exist with the same name. Since Git 2.0, Git defaults to the more conservative 'simple' behavior, which only pushes the current branch to the corresponding remote branch that 'git pull' uses to update the current branch. See 'git help config' and search for 'push.default' for further informati on. (the 'simple' mode was introduced in Git Use the similar mode 'current' instead of 'simple' if you sometimes use older versions of Git) Username for ' szwabin Password for ' Counting objects: 3, done. Delta compression using up to 8 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 310 bytes 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To 400d0d3..5ae42c5 master -> master file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 32/39

33 file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 33/39

34 Subversion (SVN) Instalacja wymaga zainstalowania klienta (jeśli chcemy pracować z istniejącymi zdalnymi repozytoriami) i serwera (jeśli chcemy sami tworzyć i oferować repozytoria) Podstawowe polecenia Tworzenie kopii roboczej svn checkout URL PATH URL to adres repozytorium PATH to miejsce w lokalnym drzewie katalogów, do którego wstawiona zostanie kopia Zapisywanie zmian w repozytorium svn commit -m "log messages" Przeglądanie zawartości repozytorium svn list Dodawanie pliku do repozytorium file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 34/39

35 svn add file_name svn commit -m "Adding new file" file_name Usuwanie pliku z repozytorium svn delete file_name svn commit -m "Removing file" file_name Różnice między plikami svn diff file_name Przykład: svn diff thegeekstuff Index: thegeekstuff =================================================================== --- thegeekstuff (revision 815) +++ thegeekstuff (working -1 -testing +tester Status kopii roboczej svn status PATH Wyświetlanie logów svn log PATH Zmiana nazw plików lub katalogów svn move src dest svn commit -m "Renaming src to dest" dest Aktualizacja kopii roboczej svn update PATH Tworzenie gałęzi file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 35/39

36 Tworzenie gałęzi svn copy \ \ -m "Creating a private branch of /calc/trunk." svn checkout Scalanie gałęzi najpierw scalamy zmiany w repozytorium z naszą gałęzią svn merge ^/calc/trunk svn commit -m "Final merge of trunk changes to my-calc-branch." aktualizujemy całość svn update a następnie scalamy naszą gałąź z resztą svn merge --reintegrate ^/calc/branches/my-calc-branch svn commit -m "Merge my-calc-branch back into trunk!" file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 36/39

37 Subversion na Windows Serwer ( - VisualSVNServer ( ( - darmowy w wersji standardowej Klient TortoiseSVN ( ( - integruje się z powłoką Windowsa (czyli m.in. Windows Explorerem) VisualSVN ( ( file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 37/39

38 Dobre praktyki zarządzania wersjami zatwierdzaj razem tylko powiązane zmiany zatwierdzaj zmiany często (małe zmiany łatwiej zrozumieć) nie zatwierdzaj zmian, jeśli nie są dokończone przetestuj, zanim zatwierdzisz pisz wyczerpujące podsumowania zatwierdzanych zmian file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 38/39

39 file:///home/szwabin/dropbox/zajecia/programowanie/lectures/10_cvs.html 39/39

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

Adam Wójs <adam[shift+2]wojs.pl> git --wprowadzenie Adam Wójs git --wprowadzenie Życie programisty A) Rozwój projektu B) Naprawianie błędów C) Refaktoryzacja kodu Ekstremalny przykład Wersja jądra Lb-a programistów Lb-a linii kodu

Bardziej szczegółowo

System kontroli wersji Git

System kontroli wersji Git System kontroli wersji Git dr inż. Sebastian Ernst Katedra Informatyki Stosowanej W prezentacji wykorzystano ilustracje z: Scott Chancon, Pro Git, http://git-scm.com/book Systemy kontroli wersji Rejestracja

Bardziej szczegółowo

GIT. Rozproszony system kontroli wersji

GIT. Rozproszony system kontroli wersji GIT Rozproszony system kontroli wersji Co to jest system kontroli wersji? System kontroli wersji śledzi wszystkie zmiany dokonywane na pliku (lub plikach) i umożliwia przywołanie dowolnej wcześniejszej

Bardziej szczegółowo

Git rozproszony system kontroli wersji

Git rozproszony system kontroli wersji Git rozproszony system kontroli wersji Piotr Macuk Wstęp System kontroli wersji (ang. version control system, VCS) służy do śledzenia zmian projektu w czasie. Umożliwia współpracę wielu osób oraz ułatwia

Bardziej szczegółowo

Rozproszony system kontroli wersji GIT. Piotr Macuk <piotr@macuk.pl>

Rozproszony system kontroli wersji GIT. Piotr Macuk <piotr@macuk.pl> Rozproszony system kontroli wersji GIT Piotr Macuk O mnie Programowanie Linux + vim 19 lat 12 lat Kontrola wersji 9 lat Ruby (on Rails) 5 lat Git 2 lata Agenda Czym jest git Instalacja

Bardziej szczegółowo

GIT. System Kontroli wersji GIT. Rafał Kalinowski

GIT. System Kontroli wersji GIT. Rafał Kalinowski GIT System Kontroli wersji GIT Rafał Kalinowski Agenda Czym jest GIT? Modele pracy Możliwości GIT a Kilka słów o terminologii Obiekty w GIT ie? Struktura zmian Operacje zdalne i lokalne Podstawowe operacje

Bardziej szczegółowo

Co zostanie wypisane na ekranie? (1)

Co zostanie wypisane na ekranie? (1) Wykład 11.05.2016 Co zostanie wypisane na ekranie? (1) class A { public: void wypisz(int n) { cout

Bardziej szczegółowo

Systemy kontroli wersji

Systemy kontroli wersji Systemy kontroli wersji Git Część I Podstawy Aleksander Lamża ZKSB Instytut Informatyki Uniwersytet Śląski w Katowicach aleksander.lamza@us.edu.pl Zawartość Czym jest Git? Dokumentacja i zasoby Ogólne

Bardziej szczegółowo

Programowanie I

Programowanie I Programowanie I 29.05.2017 Co zostanie wypisane na ekranie? (1) class A { public: void wypisz(int n) { cout

Bardziej szczegółowo

Programowanie zespołowe

Programowanie zespołowe 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

Bardziej szczegółowo

Systemy kontroli wersji

Systemy kontroli wersji Systemy kontroli wersji Git Część II Gałęzie Aleksander Lamża ZKSB Instytut Informatyki Uniwersytet Śląski w Katowicach aleksander.lamza@us.edu.pl Zawartość Gałęzie Wstępne wymagania Wprowadzenie do systemów

Bardziej szczegółowo

1 Tworzenie własnego zaproszenia dla powłoki bash

1 Tworzenie własnego zaproszenia dla powłoki bash Zad. 0: Git, ssh 1 Tworzenie własnego zaproszenia dla powłoki bash Postać zaproszenia do wprowadzania poleceń, które widoczne jest po otworzeniu terminala tekstowego kształtuje zawartość zmiennej systemowej

Bardziej szczegółowo

Narzędzia programistyczne - GIT

Narzędzia programistyczne - GIT Narzędzia programistyczne - GIT Kamil Maraś kamil.maras@gmail.com @KamilMaras Agenda Zintegrowane środowisko programistyczne Systemy kontroli wersji Narzędzia wspomagające wytwarzanie aplikacji Narzędzia

Bardziej szczegółowo

System kontroli wersji git

System kontroli wersji git System kontroli wersji git Adam Prochownik 13 października 2016 Adam git 13 października 2016 1 / 26 Plan prezentacji 1 Wstęp Materiały Po co kontrola wersji? Dlaczego git? 2 Podstawowe operacje Konfiguracja

Bardziej szczegółowo

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

Git - podstawy. Błażej Kowalczyk. Koło Naukowe Robotyków KoNaR. 7 listopada 2014 Git - podstawy Błażej Kowalczyk Koło Naukowe Robotyków KoNaR 7 listopada 2014 łażej Kowalczyk (Koło Naukowe Robotyków KoNaR) Git - podstawy 7 listopada 2014 1 / 18 Wstęp Kontrola wersji Po co nam kontrola

Bardziej szczegółowo

Zarządzanie projektami informatycznymi

Zarządzanie projektami informatycznymi Zarządzanie projektami informatycznymi Tworzenie repozytorium Repozytorium w programie git możemy stworzyć na dwa sposoby: git init albo git clone. git init git init inicjalizuje katalog jako repozytorium

Bardziej szczegółowo

Systemy zarządzania wersjami

Systemy zarządzania wersjami 24 października 2007 Po co? Dla kogo? Dlaczego? aby ułatwić kontrolę nad projektem aby panować nad wersjami aby móc śledzić zmiany dla każdego projektu, przy którym pracuje więcej niż jedna osoba dla ludzi

Bardziej szczegółowo

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

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010 System kontroli wersji - wprowadzenie Rzeszów,2 XII 2010 System kontroli wersji System kontroli wersji (ang. version/revision control system) służy do śledzenia zmian głównie w kodzie źródłowym oraz pomocy

Bardziej szczegółowo

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

Użytkowanie PortableGit w systemie Windows. 1. Najważniejsze informacje Użytkowanie PortableGit w systemie Windows. 1. Najważniejsze informacje Git w wersji przenośnej umożliwia korzystanie z repozytoriów na każdym systemie z rodziny Windows, który nie posiada zainstalowanego

Bardziej szczegółowo

Assembla.com zajęcia 1

Assembla.com zajęcia 1 Assembla.com zajęcia 1 Autor: Marcin Gadamer System kontroli wersji System kontroli wersji (ang. version/revision control system) - oprogramowanie służące do śledzenia zmian głównie w kodzie źródłowym

Bardziej szczegółowo

git krótki przewodnik

git krótki przewodnik git krótki przewodnik Spis treści Podstawy pracy z systemem git (pojęcia)... 2 Instalacja klienta git Atlassian SourceTree... 2 Konfiguracja Atlassian SourceTree do współpracy z bitbucket.org... 3 Tworzenie

Bardziej szczegółowo

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

Platforma GitHub. 1 Cel laboratoriów. 2 GitHub. 2.1 Git. źródeł. Platforma GitHub 1 Cel laboratoriów Zapoznanie się z działaniem platformy GitHub. źródeł. Założenie konta i nauka współdzielenia 2 GitHub GitHub hostingowy serwis internetowy przeznaczony dla projektów

Bardziej szczegółowo

Partnerzy: Laboratorium 15

Partnerzy: Laboratorium 15 Laboratorium 15 System kontroli wersji. Mercurial wraz z Subversion, CVS czy też programem Git należy do grupy aplikacji określanych mianem systemów kontroli wersji. Umożliwiają one sprawną prace wielu

Bardziej szczegółowo

Ćwiczenia 9: Zarządzanie konfiguracją Zadania:

Ćwiczenia 9: Zarządzanie konfiguracją Zadania: Ćwiczenia 9: Zarządzanie konfiguracją Zadania: Konfiguracja repozytorium CVS: 1. Ściągnij i zainstaluj serwer CVS: CVSNT (www.cvsnt.org). 2. W konfiguracji repozytoriów (Panel Sterowania -> CVSNT) wybierz

Bardziej szczegółowo

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

MBUM #2. Zarządzanie kopiami konfiguracji RouterOS. Jacek Rokicki MBUM #2 Zarządzanie kopiami konfiguracji RouterOS Jacek Rokicki w IT od 1998, entuzjasta systemów operacyjnych z rodziny Unix, projektowanie, budowa i utrzymanie wysoko dostępnych rozwiązań z wykorzystaniem

Bardziej szczegółowo

Środowisko programisty. Środowisko programisty 1/35

Środowisko programisty. Środowisko programisty 1/35 Środowisko programisty Środowisko programisty 1/35 Środowisko programisty 2/35 Literatura 1. Butcher P., Debugowanie. Jak wyszukiwać i naprawiać błędy w kodzie oraz im zapobiegać, Helion, Gliwice 2010

Bardziej szczegółowo

CVS system kontroli wersji

CVS system kontroli wersji CVS system kontroli wersji Agenda Podstawowe pojęcia Podstawowe polecenia Metody dostępu do repozytorium Konfiguracja i używanie aplikacji klienckich Konflikty i ich rozwiązywanie Dodatkowe możliwości

Bardziej szczegółowo

Git, Bitbucket, IntelliJ IDEA

Git, Bitbucket, IntelliJ IDEA Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Narzędzia i środowiska programistyczne Laboratorium 3 Git, Bitbucket, IntelliJ IDEA Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy

Bardziej szczegółowo

SVN sojusz, partnerstwo, współpraca

SVN sojusz, partnerstwo, współpraca SVN sojusz, partnerstwo, współpraca Bogusz Kowalski Wrocław, 16.03.2010 http://www.linuxacademy.pl 1 Coś o historii Zaczęło się od RCS w 1985... 1990 nadeszła era CVS... 2000 SVN 2 Po co system kontroli

Bardziej szczegółowo

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

Git, Bitbucket. Narzędzia i środowiska programistyczne. Laboratorium 2. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2 Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Laboratorium 2 Git, Bitbucket Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 Technologie Technologie będące przedmiotem laboratorium:

Bardziej szczegółowo

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

ponad 90 000 pracowników ponad 60 000 pracowników ponad 30 000 pracowników ponad 3 000 pracowników 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,

Bardziej szczegółowo

Microsoft Visual SourceSafe uproszczona instrukcja użytkowania

Microsoft Visual SourceSafe uproszczona instrukcja użytkowania Politechnika Białostocka Wydział Informatyki mgr inż. Tomasz Łukaszuk Microsoft Visual SourceSafe uproszczona instrukcja użytkowania Wprowadzenie Microsoft Visual SourceSafe jest narzędziem pozwalającym

Bardziej szczegółowo

Git i platforma GitHub

Git i platforma GitHub Git i platforma GitHub 1 Cel laboratoriów Zapoznanie się z działaniem Git i platformy GitHub. Założenie konta i nauka współdzielenia źródeł. Git jest systemem kontroli wersji, którego znajomość jest często

Bardziej szczegółowo

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

System kontroli wersji, system zarządzania kodem źródłowym System kontroli wersji, system zarządzania kodem źródłowym (ang. version/revision control system) VCS albo RCS Source control or (source) code management (SCM) Teoria Co to jest? Po co nam taki system

Bardziej szczegółowo

Wprowadzenie do systemu wersjonowania svn

Wprowadzenie do systemu wersjonowania svn SubVersioN Wprowadzenie do systemu wersjonowania svn Wersjonowanie plików Po co zaprzątać sobie tym głowę? Repozytorium Problemy z współdzieleniem Zablokuj-Zmień-Odblokuj Kopiuj-Zmień-Scal Kopiuj-Zmień-Scal

Bardziej szczegółowo

Korzystanie z VCS oznacza również, że jeśli coś zepsujesz lub utracisz pliki, możesz je łatwo odzyskać.

Korzystanie z VCS oznacza również, że jeśli coś zepsujesz lub utracisz pliki, możesz je łatwo odzyskać. Systemy kontroli wersji System Kontroli Wersji (VCS, Version Control System) rejestruje zmiany w pliku lub zestawie plików w czasie, dzięki czemu można później przywrócić określone wersje System kontroli

Bardziej szczegółowo

Michał (plucho) Wronkaplucho@gmail.com Subversion Wykorzystanie i administracja repozytorium

Michał (plucho) Wronkaplucho@gmail.com Subversion Wykorzystanie i administracja repozytorium Subversion Wykorzystanie i administracja repozytorium Michał (plucho) Wronka plucho@gmail.com 14.01.2006 Repozytorium Część I Odrobina Teorii Repozytorium Ogólna koncepcja Modele wersjonowania 1 Repozytorium

Bardziej szczegółowo

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

KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL Katedra Informatyki, Uniwersytet Rzeszowski 2009 Agenda System kontroli wersji CVS SVN Praca z SVN i Visual

Bardziej szczegółowo

SUBVERSION TOMASZ ŁUKASZUK

SUBVERSION TOMASZ ŁUKASZUK SUBVERSION TOMASZ ŁUKASZUK STRESZCZENIE: Dokument przedstawia system Subversion jako następcę systemu CVS. Zawarto w nim instrukcję utworzenia i pracy z systemem Subversion. 1. WPROWADZENIE Subversion

Bardziej szczegółowo

Git instrukcja dla studentów

Git instrukcja dla studentów Git instrukcja dla studentów mgr inż. Maciej Długosz mgr inż. Marek Kokot dr inż. Krzysztof Simiński 30 września 2017 Spis treści 1 Wstęp 1 2 GitHub 1 3 System kontroli wersji Git zasada działania 2 3.1

Bardziej szczegółowo

Tak. Konrad Ktoso Malawski konrad.malawski@java.pl - @ktosopl blog.project13.pl - SFI 2011-11.03.2011

Tak. Konrad Ktoso Malawski konrad.malawski@java.pl - @ktosopl blog.project13.pl - SFI 2011-11.03.2011 Tak. Tak. Po prostu. github.com/ktoso @ktosopl blog.project13.pl Masz pytanie? Nie czekaj do końca prezentacji! Poproszę... Pytanie do publiczności Ważne słowa (-: WAŻNE :-) System kontroli wersji Scentralizowany

Bardziej szczegółowo

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

Gra-zabawka dla niemowląt przygotowana z użyciem w Unity 3D Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Katedra Informatyki Stosowanej Tomasz Gańko nr albumu: 244629 Praca magisterska na kierunku informatyka stosowana Gra-zabawka

Bardziej szczegółowo

TortoiseHg + Windows konfiguracja

TortoiseHg + Windows konfiguracja TortoiseHg + Windows konfiguracja instrukcja do projektu RSO 14 marca 2012 r., ver. 1.0 Paweł Barszcz 1. Założenia wstępne Instrukcja dotyczy podstawowego korzystania z TortoiseHg

Bardziej szczegółowo

Konfiguracja i administracja systemem kontroli wersji SVN

Konfiguracja i administracja systemem kontroli wersji SVN Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska Laboratorium Administrowania Systemami Komputerowymi Konfiguracja i administracja systemem kontroli wersji

Bardziej szczegółowo

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Pracownia internetowa w każdej szkole (edycja Jesień 2007) Instrukcja numer D1/04_01/Z Pracownia internetowa w każdej szkole (edycja Jesień 2007) Opiekun pracowni internetowej cz. 1 (D1) Tworzenie kopii zapasowej ustawień systemowych serwera - Zadania do wykonania

Bardziej szczegółowo

System zarządzania wersjami I Subversion

System zarządzania wersjami I Subversion Subversion Na tych zajęciach poznamy reguły pracy z systemami zarządzania wersjami oraz przećwiczymy podstawowe, najczęściej wykonywane operacje w takich systemach. Bazować będziemy na systemie Subversion

Bardziej szczegółowo

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

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer? Kadry Optivum, Płace Optivum Jak przenieść dane na nowy komputer? Aby kontynuować pracę z programem Kadry Optivum lub Płace Optivum (lub z obydwoma programami pracującymi na wspólnej bazie danych) na nowym

Bardziej szczegółowo

Drupal i GIT. Schemat pracy.

Drupal i GIT. Schemat pracy. Drupal i GIT. Schemat pracy. Bartek Filipiuk. Crople.pl Wymagania: podstawowa wiedza z Linuxa posiadanie lokalnego środowiska do tworzenia stron w Drupalu podstawowa wiedza z Drupala Czego dowiesz się

Bardziej szczegółowo

Systemy Kontroli Wersji

Systemy Kontroli Wersji Systemy Kontroli Wersji zarzadzanie źródłami Marcin Gryszkalis dagoon@math.uni.lodz.pl Wydział Matematyki Uniwersytetu Łódzkiego Łódź 2003 Systemy Kontroli Wersji p.1/39 VCS a SCM Systemy Kontroli Wersji

Bardziej szczegółowo

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

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum. Płace Optivum Jak przenieść dane programu Płace Optivum na nowy komputer? Aby kontynuować pracę z programem Płace Optivum na nowym komputerze, należy na starym komputerze wykonać kopię zapasową bazy danych

Bardziej szczegółowo

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

Projektowanie oprogramowania systemów NARZĘDZIA PRACY GRUPOWEJ, KONTROLI WERSJI, DOKUMENTOWANIA I ŚLEDZENIA BŁĘDÓW Projektowanie oprogramowania systemów NARZĘDZIA PRACY GRUPOWEJ, KONTROLI WERSJI, DOKUMENTOWANIA I ŚLEDZENIA BŁĘDÓW plan wykładu Narzędzia pracy grupowej Edycja grupowa w czasie rzeczywistym Narzędzia Systemy

Bardziej szczegółowo

Programowanie Systemów Wbudowanych

Programowanie Systemów Wbudowanych Programowanie Systemów Wbudowanych Wprowadzenie do Systemu Kontroli Wersji GIT ¹ródªo: git-scm.com dr in». Krzysztof Czarnecki Wydziaª Elektroniki,Telekomunikacji i Informatyki Politechnika Gda«ska 2015

Bardziej szczegółowo

Git Podstawowe pojęcia, instalacja i konfiguracja

Git Podstawowe pojęcia, instalacja i konfiguracja Git Podstawowe pojęcia, instalacja i konfiguracja System kontroli wersji (system kontroli rewizji) ułatwia synchronizację plików projektu przez wszystkich uczestników. Git rozproszony system kontroli wersji.

Bardziej szczegółowo

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

SubVersion. Piotr Mikulski. SubVersion. P. Mikulski. Co to jest subversion? Zalety SubVersion. Wady SubVersion. Inne różnice SubVersion i CVS Piotr Mikulski 2006 Subversion is a free/open-source version control system. That is, Subversion manages files and directories over time. A tree of files is placed into a central repository. The repository

Bardziej szczegółowo

Laboratorium - Poznawanie FTP

Laboratorium - Poznawanie FTP Cele Część 1: Korzystanie z usługi FTP z wiersza poleceń. Część 2: Pobranie pliku z serwera FTP za pomocą WS_FTP LE Część 3: Korzystanie z usługi FTP w przeglądarce Scenariusz File Transfer Protocol (FTP)

Bardziej szczegółowo

Open Source w służbie developerom

Open Source w służbie developerom 5 grudnia 2011 Wstęp Plan prezentacji Agenda Dyskusja problemu Wstęp Plan prezentacji Agenda Dyskusja problemu Etapy Wstęp Plan prezentacji Agenda Dyskusja problemu Etapy Przykłady Wstęp Plan prezentacji

Bardziej szczegółowo

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

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer? Kadry Optivum, Płace Optivum Jak przenieść dane na nowy komputer? Aby kontynuować pracę z programem Kadry Optivum lub Płace Optivum (lub z obydwoma programami pracującymi na wspólnej bazie danych) na nowym

Bardziej szczegółowo

MikroTik Serwer OpenVPN

MikroTik Serwer OpenVPN MikroTik Serwer OpenVPN Generowanie certyfikatów na systemie Debian. Instalujemy OpenVPN, następnie przechodzimy do katalogu ze skryptami: cd /usr/share/openvpn/easyrsa edytujemy plik vars ustawiając kraj,

Bardziej szczegółowo

Podstawowy warsztat informatyka

Podstawowy warsztat informatyka Podstawowy warsztat informatyka Jakub Michaliszyn Instytut Informatyki Uniwersytetu Wrocławskiego Wykład 7 Ogłoszenia Terminarz 12-20 stycznia: rozwiązywanie list 11-12, w czasie pracowni można przyjść

Bardziej szczegółowo

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie Wstęp FTP - (ang. File Transfer Protocol - protokół transmisji danych) jest to protokół typu klient-serwer, który umożliwia przesyłanie plików na serwer, oraz z serwera poprzez program klienta FTP. Dzięki

Bardziej szczegółowo

Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania.

Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania. Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania. Q. Jak uruchomić instalator? A. Trzeba nadać instalatorowi atrybut 'wykonywalny'. Można to zrobić wydając polecenie `chmod

Bardziej szczegółowo

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

Jak usprawnić tworzenie i zarządzanie stroną na drupalu. Maciej Łukiański Jak usprawnić tworzenie i zarządzanie stroną na drupalu Maciej Łukiański Dlaczego ta prezentacja Najczęściej A można bardziej wydajnie za darmo O czym będzie Code driven development Wersjonowanie kodu

Bardziej szczegółowo

MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty

MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty MeetingHelper Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania Instrukcja obsługi dla programisty W tej części został zawarty opis uruchamiania projektu programistycznego,

Bardziej szczegółowo

Współpraca z platformą Emp@tia. dokumentacja techniczna

Współpraca z platformą Emp@tia. dokumentacja techniczna Współpraca z platformą Emp@tia dokumentacja techniczna INFO-R Spółka Jawna - 2013 43-430 Pogórze, ul. Baziowa 29, tel. (33) 479 93 29, (33) 479 93 89 fax (33) 853 04 06 e-mail: admin@ops.strefa.pl Strona1

Bardziej szczegółowo

Jacek WOŁOSZYN AUTOMATYZACJA PROCESU ARCHIWIZACJI PRZYROSTOWEJ DANYCH Z WYKORZYSTANIEM GIT AUTOMATING THE PROCESS OF INCREMENTAL BACKUP DATA USING GIT

Jacek WOŁOSZYN AUTOMATYZACJA PROCESU ARCHIWIZACJI PRZYROSTOWEJ DANYCH Z WYKORZYSTANIEM GIT AUTOMATING THE PROCESS OF INCREMENTAL BACKUP DATA USING GIT Dydaktyka Informatyki 10(2015) ISSN 2083-3156 DOI: 10.15584/di.2015.10.18 http://www.di.univ.rzeszow.pl Wydział Matematyczno-Przyrodniczy UR Laboratorium Zagadnień Społeczeństwa Informacyjnego Jacek WOŁOSZYN

Bardziej szczegółowo

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED Podręcznik użytkownika Katowice 2010 Producent programu: KAMSOFT S.A. ul. 1 Maja 133 40-235 Katowice Telefon: (0-32) 209-07-05 Fax:

Bardziej szczegółowo

Projektowanie baz danych za pomocą narzędzi CASE

Projektowanie baz danych za pomocą narzędzi CASE Projektowanie baz danych za pomocą narzędzi CASE Metody tworzenia systemów informatycznych w tym, także rozbudowanych baz danych są komputerowo wspomagane przez narzędzia CASE (ang. Computer Aided Software

Bardziej szczegółowo

BACKUP BAZ DANYCH FIREBIRD

BACKUP BAZ DANYCH FIREBIRD BACKUP BAZ DANYCH FIREBIRD SPIS TREŚCI Informacje ogólne... 2 Tworzenie projektu... 2 Krok 1: Informacje podstawowe... 2 Krok 2: Dane... 3 Backup bazy umieszczonej na serwerze... 3 Bezpośredni backup pliku

Bardziej szczegółowo

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

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

Bardziej szczegółowo

1. System kontroli wersji. 1.1. Instalacja programu kontroli wersji CVS

1. System kontroli wersji. 1.1. Instalacja programu kontroli wersji CVS 1 1. System kontroli wersji Już przy tak małym projekcie niezbędnym okazało się wdrożenie systemu kontroli wersji, co umożliwiło grupową pracę uczestników projektu. CVS jest narzędziem pomagającym w organizacji

Bardziej szczegółowo

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux Kontakt: e-mail: kontakt@mforex.pl infolinia: 22 697 4774 www.mforex.pl 1 1 O platformie Platforma mforex Trader to część systemu

Bardziej szczegółowo

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji

Bardziej szczegółowo

IIIIIIIIIIIIIIIMMIMMIII

IIIIIIIIIIIIIIIMMIMMIII IIIIIIIIIIIIIIIMMIMMIII O programie Program Itelix itender Manager przeznaczony jest do zarządzania zapytaniami ofertowymi przesyłanymi za pomocą poczty elektronicznej przez firmy korzystające z systemu

Bardziej szczegółowo

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa Instalacja roli kontrolera domeny, Aby zainstalować rolę kontrolera domeny, należy uruchomić Zarządzenie tym serwerem, po czym wybrać przycisk

Bardziej szczegółowo

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami Dotyczy programów opartych na bazie BDE: Menedżer Pojazdów PL+ Ewidencja Wyposażenia PL+ Spis treści: 1. Wstęp...

Bardziej szczegółowo

S P I S T R E Ś C I. Instrukcja obsługi

S P I S T R E Ś C I. Instrukcja obsługi S P I S T R E Ś C I Instrukcja obsługi 1. Podstawowe informacje o programie.................................................................................... 2 2. Instalacja programu.....................................................................................................

Bardziej szczegółowo

INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32

INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32 INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32 Spis Treści 1. Wymagania... 2 1.1. Wymagania przy korzystaniu z klucza sieciowego... 2 1.2. Wymagania przy uruchamianiu programu przez internet... 2 2.

Bardziej szczegółowo

Programowanie zespołowe

Programowanie zespołowe Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Laboratorium 6 Programowanie zespołowe Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 Programowanie zespołowe Wymagania wstępne

Bardziej szczegółowo

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami Dotyczy programów opartych na bazie Firebird: System Obsługi Zleceń PL+ Grafik Urlopowy PL+ Zarządzanie Szkoleniami

Bardziej szczegółowo

Windows 10 - Jak uruchomić system w trybie

Windows 10 - Jak uruchomić system w trybie 1 (Pobrane z slow7.pl) Windows 10 - Jak uruchomić system w trybie awaryjnym? Najprostszym ze sposobów wymuszenia na systemie przejścia do trybu awaryjnego jest wybranie Start a następnie Zasilanie i z

Bardziej szczegółowo

Programy LeftHand - Obsługa plików JPK. Wrzesień 2016

Programy LeftHand - Obsługa plików JPK. Wrzesień 2016 Programy LeftHand - Obsługa plików JPK Wrzesień 2016 Spis treści 1. Wstęp...2 2. Pierwsze uruchomienie funkcji JPK...2 3. Generowanie plików JPK...9 4. Wysyłanie plików JPK...10 5. Pobieranie i drukowanie

Bardziej szczegółowo

Kalipso wywiady środowiskowe

Kalipso wywiady środowiskowe Instrukcja instalacji Kalipso wywiady środowiskowe I. Na systemie operacyjnym Ubuntu (TM) II. Na systemie operacyjnym Windows INFO-R Spółka Jawna - 2017 43-430 Pogórze, ul. Baziowa 29, tel. (33) 479 93

Bardziej szczegółowo

BACKUP BAZ DANYCH MS SQL

BACKUP BAZ DANYCH MS SQL BACKUP BAZ DANYCH MS SQL SPIS TREŚCI Informacje ogólne... 2 Tworzenie projektu... 2 Krok 1: Informacje Podstawowe... 2 Krok 2: Dane... 3 Krok 3: Planowanie... 4 Krok 4: Zaawansowane... 5 Przywracanie baz

Bardziej szczegółowo

Programowanie w językach skryptowych - Python i Linux Bash

Programowanie w językach skryptowych - Python i Linux Bash Programowanie w językach skryptowych - Python i Linux Bash Maciej Wielgosz Wydział Informatyki, Elektroniki i Telekomunikacji 2015, semestr zimowy M. Wielgosz (AGH - IET) Programowanie w językach skryptowych

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany

Bardziej szczegółowo

Technologie Komponentowe. Piotr Łukasik p /

Technologie Komponentowe. Piotr Łukasik p / Technologie Komponentowe Piotr Łukasik p. 373 email: plukasik@agh.edu.pl / lukasik.pio@gmail.com www.lukasikpiotr.com Warunki uzyskania zaliczenia Ocena końcowa z ćwiczeń posiada następujące składowe:

Bardziej szczegółowo

Windows Server Active Directory

Windows Server Active Directory Windows Server 2012 - Active Directory Active Directory (AD) To usługa katalogowa a inaczej mówiąc hierarchiczna baza danych, która przynajmniej częściowo musi być ściśle związana z obiektową bazą danych.

Bardziej szczegółowo

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem. WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy

Bardziej szczegółowo

Instrukcja instalacji programu SYSTEmSM

Instrukcja instalacji programu SYSTEmSM Instrukcja instalacji programu SYSTEmSM SYSTEmEG Sp. z o.o. Siedziba: ul. Wojrow icka 10a/14 PL 54-434 Wrocław + 48 (71) 354 47 76 Biuro: ul. Chociebuska 11 PL 54-433 Wrocław fax. + 48 (71) 358 04 99 Bank:

Bardziej szczegółowo

Subversion - jak dziaªa

Subversion - jak dziaªa - jak dziaªa Krótka instrukcja obsªugi lstelmach@gmail.com Stelmisoft 12/07/2010 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 6 Spis tre±ci Czym jest Czym jest repozytorium 1 Czym jest Czym jest repozytorium

Bardziej szczegółowo

Problemy techniczne SQL Server

Problemy techniczne SQL Server Problemy techniczne SQL Server Jak utworzyć i odtworzyć kopię zapasową bazy danych za pomocą narzędzi serwera SQL? Tworzenie i odtwarzanie kopii zapasowych baz danych programów Kadry Optivum, Płace Optivum,

Bardziej szczegółowo

PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl

PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl Do połączenia z serwerem A&B w celu załadowania lub pobrania materiałów można wykorzystać dowolny program typu "klient FTP". Jeżeli nie

Bardziej szczegółowo

Silent setup SAS Enterprise Guide (v 3.x)

Silent setup SAS Enterprise Guide (v 3.x) SAS Institute TECHNICAL SUPPORT Silent setup SAS Enterprise Guide (v 3.x) Silent Setup ( cicha instalacja oprogramowania) pozwala na instalację Enterprise Guide (lub całości oprogramowania SAS) na wielu

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4 Wdrożenie modułu płatności eservice dla systemu Gekosale 1.4 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do integracji...

Bardziej szczegółowo

Tomasz Greszata - Koszalin

Tomasz Greszata - Koszalin T: Konfiguracja usługi HTTP w systemie Windows. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołów HTTP oraz HTTPS i oprogramowania IIS (ang. Internet Information Services).

Bardziej szczegółowo

Programy LeftHand - Obsługa plików JPK. Luty 2017

Programy LeftHand - Obsługa plików JPK. Luty 2017 Programy LeftHand - Obsługa plików JPK Luty 2017 Spis treści 1. Wstęp... 2 2. Pierwsze uruchomienie funkcji JPK... 2 3. Generowanie plików JPK... 9 4. Wysyłanie plików JPK... 10 5. Pobieranie i drukowanie

Bardziej szczegółowo

Problemy techniczne SQL Server

Problemy techniczne SQL Server Problemy techniczne SQL Server Jak utworzyć i odtworzyć kopię zapasową za pomocą narzędzi serwera SQL? Tworzenie i odtwarzanie kopii zapasowych baz danych programów Kadry Optivum, Płace Optivum, MOL Optivum,

Bardziej szczegółowo

Załącznik 1 instrukcje instalacji

Załącznik 1 instrukcje instalacji Załącznik 1 instrukcje instalacji W poniższym załączniku przedstawione zostaną instrukcje instalacji programów wykorzystanych w trakcie tworzenia aplikacji. Poniższa lista przedstawia spis zamieszczonych

Bardziej szczegółowo

Subversion. System wersjonowania projektów. mailto:sobaniec@cs.put.poznan.pl. Instytut Informatyki Politechnika Poznańska

Subversion. System wersjonowania projektów. mailto:sobaniec@cs.put.poznan.pl. Instytut Informatyki Politechnika Poznańska Subversion System wersjonowania projektów CEZARY SOBANIEC mailto:sobaniec@cs.put.poznan.pl $Id: subversion.lyx 28 2004-03-26 08:12:57Z sobaniec $ Co to jest Subversion? Subversion jest systemem wersjonowania

Bardziej szczegółowo

1 Tworzenie własnego zaproszenia dla powłoki bash

1 Tworzenie własnego zaproszenia dla powłoki bash Zad. 0: SVN, ssh 1 Tworzenie własnego zaproszenia dla powłoki bash Postać zaproszenia do wprowadzania poleceń, które widoczne jest po otworzeniu terminala tekstowego kształtuje zawartość zmiennej systemowej

Bardziej szczegółowo