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 --amend
był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ń