Tu się wchodzi, naciska, ogląda się z bliska
Dalej, po lewej ręce, cudów więcej
(...)
Nucę sobie ten kawałek Kalibra 44, myśląc o Gicie. ;) Tak mi się te dwa osobne byty kojarzą i łączą ze sobą (!?).
Teraz, nawet obudzona w nocy o północy, wyrecytuję bez zająknięcia: git status, git add ., git commit -m "komentarz", git push. Czyli podstawowe komendy w Gicie związane z commitowaniem zmian.
W sumie Gita polubiłam od razu. Bo jest dość efekciarski i robi wrażenie (na laiku). Piszesz coś w konsoli, commit automagicznie pojawia się na GitHubie, wszystkie zmiany są zaznaczone, co przybyło, co ubyło i gdzie. Niezła maszynka. Jak u Kalibra właśnie: "tu się wchodzi, naciska, ogląda się z bliska". ;) No super!
Co oczywiście nie znaczy, że nie miałam z Gitem swoich przygód (i że już nie będę ich miała). Zdarzało mi się np. wpisać git commit bez komentarza. A wtedy robi się niesympatycznie - otwiera się program vim i człowiek baranieje, bo nic nie może wpisać, a musi. Ratunkiem jest wykonanie następujących czynności: wciskamy przycisk Esc, wpisujemy (bo teraz można) :wq, wciskamy Enter. Pozwala to uzupełnić brakujący komentarz i z ulgą opuścić ten dziwny program.
Na początku trochę trudno było mi też złapać różnicę między samym Gitem a GitHubem. Ostatecznie poukładałam to sobie tak:
- Git to "kucharz", który jest niewidoczny (na poziomie definicji, nie metafory, to rozproszony system kontroli wersji; server).
- Jego namacalni i widoczni "kelnerzy" to:
- Git Bash (konsola) - pozwala dostać się do Gita
- GitHub web app - serwis internetowy do tworzenia repozytoriów, wykorzystujący Gita i umożliwiający dodatkowe operacje na Gicie, np. fork repo, pull request
- GitHub desktop app - pozwala dostać się do Gita i GitHuba
Gita uczyłam się z kursów na Codecademy i Code School, z książki Pro Git (choć czytałam ją dość wybiórczo), no i po prostu w praktyce (z pewnym wsparciem speca od Gita), co jest zdecydowanie najlepszą metodą.
Poniżej, dla uporządkowania i usystematyzowania wiedzy, lista-ściągawka głównych komend gitowych:
- git init
 stwórz nowe, puste repozytorium Gita w aktualnym folderze
- git status
 pokaż status lokalnego repozytorium, w tym listę zmodyfikowanych plików
- git add nazwa_pliku
 przygotuj plik nazwa_pliku do najbliższego commita (dodaj do stage)
- git add . / git add -A
 przygotuj wszystkie pliki do najbliższego commita (dodaj do stage)
- git commit -m "abc"
 wykonaj commit z komentarzem "abc", commit zawiera to, co zostało wcześniej przygotowane (dodane do stage)
- git log
 pokaż historię aktualnej gałęzi (wyświetl listę wykonanych commitów)
- git log --summary
 pokaż historię aktualnej gałęzi bardziej szczegółowo (wyświetl więcej informacji o poszczególnych commitach)
- git diff
 pokaż różnice między zawartością lokalną a ostatnim commitem (czyli wszystko, co zostało zmienione od ostatniego commita, ale jeszcze nie zacommitowane ani nie przygotowane do commita, czyli wszystko, co w git status jest czerwone)
- git push
 wyślij commity do zdalnego repozytorium
- git clone git@github.com:beatrycze/buka.git
 sklonuj repozytorium przez SSH
- git clone https://github.com/beatrycze/buka.git
 sklonuj repozytorium przez HTTPS
- git commit --amend
 zmodyfikuj ostatni commit + zmień jego nazwę
 (Uwaga: zmiana nazwy w programie vim. Trzeba najpierw wcisnąć Insert (na dole konsoli powinna pojawić się informacja --WPROWADZANIE--, jeśli wyświetla się --ZAMIANA--, wciskamy Insert jeszcze raz) - to pozwoli zmodyfikować nazwę commita; następnie wciskamy Esc, wpisujemy :wq i wciskamy Enter. Uff! ;))
- git commit --amend --no-edit
 zmodyfikuj ostatni commit bez zmiany jego nazwy
- git push origin master -f
 usuń to, co jest na serwerze i zastąp lokalną historią zmian - bezwzględnie, siłą (-f, czyli force); przydatne w sytuacji, gdy repo lokalne i zdalne (na GitHubie) się zdesynchronizuje, czyli np. wtedy, gdygit commit --amendbyło wykonane na wypushowanym już commicie; uwaga: przed i w trakcie użycia zachować szczególną ostrożność, komenda z gatunku "tylko w ostateczności" :)
O pracy z branchami pisałam tutaj. Pozostaje jeszcze odrobić lekcję z wycofywania zmian. No i ćwiczyć, ćwiczyć, ćwiczyć... Żeby weszło w krew.
 
No i pięknie. Miałem 5 min na przypomnienie sobie GITa i trafiłem we właściwe miejsce. Bardzo wygodne mini-zestawienie, dzięki ;)
OdpowiedzUsuńMiło słyszeć. :) Cieszę się, że się przydało.
Usuń