~~REVEAL~~ ====== Git w VS ====== ===== Nowe repozytorium ===== * **File -> New -> Project -> Add to Source Control** {{ :zajecia:znd_2014_1:tfs_add_new_project.png?600 |}} ===== Pobierania istniejącego repozytorium (clone) ===== {{https://www.visualstudio.com/en-us/docs/git/_shared/_img/clonevsrepo.png}} Źródło: https://www.visualstudio.com/en-us/docs/git/gitquickstart ===== Configuracja repozytorium ===== * **Team Explorer -> Settings -> Repository settings** {{https://www.visualstudio.com/en-us/docs/git/tutorial/_img/add_remote_vs.png}} Źródło: https://www.visualstudio.com/en-us/docs/git/gitquickstart ===== commit - zatwierdzanie zmian ===== * **Staged changes** - lista zmian, która powędruje do następnego zatwierdzenia {{https://www.visualstudio.com/en-us/docs/git/_shared/_img/vs_update2_changes.png}} Źródło: https://www.visualstudio.com/en-us/docs/git/gitquickstart ===== Historia zmian ===== {{https://www.visualstudio.com/en-us/docs/git/tutorial/_img/vs_history_view.png}} Źródło: https://www.visualstudio.com/en-us/docs/git/gitquickstart ===== Porównywanie zmian ===== {{https://www.visualstudio.com/en-us/docs/git/tutorial/_img/vs_diff_changes.png}} Źródło: https://www.visualstudio.com/en-us/docs/git/gitquickstart ===== Synchronizacja ze zdalnym repozytorium ===== * ''push'' - wysyłanie zmian * ''pull'' = ''fetch'' + ''merge'' - pobieranie zmian i łączenie z lokalną kopią {{https://www.visualstudio.com/en-us/docs/git/_shared/_img/newvspush.png}} Źródło: https://www.visualstudio.com/en-us/docs/git/gitquickstart ===== Gałęzie (branches) ====== * gałęzie zawierają równolegle rozwijane wersje kodu, pomiędzy którymi możemy w prosty sposób się przełączać (''checkout'') * ''merge'' - dołącza zmiany z innej gałęzi {{https://www.visualstudio.com/en-us/docs/git/_shared/_img/newvsbranch.png}} Źródło: https://www.visualstudio.com/en-us/docs/git/gitquickstart ===== Konflikty ===== {{http://www.hanselman.com/blog/content/binary/Windows-Live-Writer/ed5b594103c4_B6D0/image_thumb.png}} Źródło: https://www.hanselman.com/blog/ ===== Cofanie zmian ===== {{https://www.visualstudio.com/en-us/docs/git/tutorial/_img/vs_reset_branch.png}} ===== Pull request ==== Po wysłaniu zmian umieszczonych w osobnej gałęzi możemy poprosić członków zespołu o weryfikację kodu i dodanie do głównej gałęzi {{https://www.visualstudio.com/en-us/docs/git/_shared/_img/newvspullrequest.png}} Źródło: https://www.visualstudio.com/en-us/docs/git/gitquickstart ===== Typowy workflow ===== - tworzymy nową gałąź - zmieniamy zawartość nowej gałęzi i zatwierdzamy zmiany - gdy praca skończona wysyłamy gałąź do zdalnego repozytorium - składamy prośbę (//pull request//) o weryfikację kodu i integrację z główną gałęzią - aktualizujemy lokalną kopię ze zmianami, które mogli nanieść inni użytkownicy, rozwiązujemy konflikty {{https://www.visualstudio.com/en-us/docs/git/tutorial/_img/gitworkflow.png}} Źródło: https://www.visualstudio.com/en-us/docs/git/tutorial/gitworkflow ===== A successful Git workflow ===== {{http://nvie.com/img/git-model@2x.png?450}} Źródło: http://nvie.com/ ===== Więcej informacji ===== * [[https://www.visualstudio.com/pl-pl/docs/git/overview|Git and Team Services]] * [[http://git-scm.com/|git - fast version control]]