Programowanie I C / C++ laboratorium 14 --
Transkrypt
Programowanie I C / C++ laboratorium 14 --
System kontroli wersji Wskazówki Programowanie I C / C++ laboratorium 14 — git Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-05-22 J. Piersa Pr. C/C++ 2012/2013 Laboratorium 14 System kontroli wersji Wskazówki git Cykl użycia Inne Łączenie zmian strona projektu http://git-scm.com/ repozytorium projektów publicznych https://github.com/ inne systemy: subversion, mercurial... J. Piersa Pr. C/C++ 2012/2013 Laboratorium 14 System kontroli wersji Wskazówki git Cykl użycia Inne Łączenie zmian Cykl użycia (wersja scentralizowana) tworzenie projektu wprowadzenie zmian przeglądanie statusu / logu potwierdzanie zmian (commit) publikowanie rozwiązywanie konfliktów pobieranie nowej wersji (goto 2) J. Piersa Pr. C/C++ 2012/2013 Laboratorium 14 System kontroli wersji Wskazówki git Cykl użycia Inne Łączenie zmian Tworzenie repozytorium git init -- bare tylko jeden raz J. Piersa Pr. C/C++ 2012/2013 Laboratorium 14 System kontroli wersji Wskazówki git Cykl użycia Inne Łączenie zmian Skopiowanie projektu z repozytorium git clone login@host :~/ projekt . git / ./ roboczy tylko jeden raz J. Piersa Pr. C/C++ 2012/2013 Laboratorium 14 System kontroli wersji Wskazówki git Cykl użycia Inne Łączenie zmian Dodane plików / dopisanie funkcjonalności poza gitem: vim program . c J. Piersa Pr. C/C++ 2012/2013 Laboratorium 14 System kontroli wersji Wskazówki git Cykl użycia Inne Łączenie zmian Przegląd zmian zmiany git status dodanie zmienionych plików git add program . c git rm stary_plik . c git mv poprzedni . c aktualny . c J. Piersa Pr. C/C++ 2012/2013 Laboratorium 14 System kontroli wersji Wskazówki git Cykl użycia Inne Łączenie zmian Potwierdzenie zmian (lokalne) zmiany git commit -m " Krotki opis zmian " J. Piersa Pr. C/C++ 2012/2013 Laboratorium 14 System kontroli wersji Wskazówki git Cykl użycia Inne Łączenie zmian Potwierdzenie zmian (publiczne) wypchnięcie do repozytorium git push lub git push login@host :~/ projekt . git / J. Piersa Pr. C/C++ 2012/2013 Laboratorium 14 System kontroli wersji Wskazówki git Cykl użycia Inne Łączenie zmian Pobranie zmian pobranie zmian (być może wprowadzone przez inną osobę) git pull lub git pull login@host :~/ projekt . git / J. Piersa Pr. C/C++ 2012/2013 Laboratorium 14 System kontroli wersji Wskazówki git Cykl użycia Inne Łączenie zmian Log historia commitów git log -- oneline graf commitów git log -- graph J. Piersa Pr. C/C++ 2012/2013 Laboratorium 14 System kontroli wersji Wskazówki git Cykl użycia Inne Łączenie zmian Diff zmiany w plikach git diff git diff plik git diff a1b2c3d4e5 plik J. Piersa Pr. C/C++ 2012/2013 Laboratorium 14 System kontroli wersji Wskazówki git Cykl użycia Inne Łączenie zmian merge W sytuacji gdy powstały dwie odnogi wersja bez konfliktu git fetch git merge git commit J. Piersa Pr. C/C++ 2012/2013 Laboratorium 14 System kontroli wersji Wskazówki git Cykl użycia Inne Łączenie zmian merge W sytuacji gdy powstały dwie odnogi wersja bez konfliktu git fetch git merge punkt niewykonalny! trzeba ręcznie usunąć konflikty (git diff będzie pomocny) git diff plik . c vi plik . c J. Piersa Pr. C/C++ 2012/2013 Laboratorium 14 System kontroli wersji Wskazówki git Cykl użycia Inne Łączenie zmian merge usuwamy konflikty git diff plik . c vi plik . c po rozwiązaniu wszystkich konfliktów: git merge klucz_commita git commit git push J. Piersa Pr. C/C++ 2012/2013 Laboratorium 14 System kontroli wersji Wskazówki Wskazówki Położenie repozytorium (stan na 2013-05) git w systemie komputerowym WMiI: sxterm i aleks-2 VPN do sieci wydziałowej w przypadku pracy z zewnątrz serwis hostujący repozytoria (publiczne za darmo, prywatne są płatne) https://github.com/ podręcznik: E. Sink Version Control by Example http://www.ericsink.com/vcbe/ J. Piersa Pr. C/C++ 2012/2013 Laboratorium 14