Ściągawka dotycząca poleceń Git: Polecenia, których faktycznie używasz, wraz z przykładami
Praktyczne odniesienia do Gita pogrupowane według tego, co próbujesz zrobić, od pierwszego zatwierdzenia do cofnięcia błędu. Trzymaj go otwartego podczas pracy i skorzystaj z przewodnika cofania, zanim sięgniesz po coś ryzykownego.
- Zmiana przechodzi przez trzy obszary: katalog roboczy, obszar przejściowy i repozytorium.
git statusto najbezpieczniejsze polecenie, jakie posiadasz, więc uruchamiaj je stale.- Użyj
git revert, aby cofnąć wspólne zatwierdzenia i zachowajgit reset --harddla pracy lokalnej, której jesteś pewien. git reflogzazwyczaj może uratować zatwierdzenia, o których myślałeś, że zostały utracone.
Nikt nie pamięta każdego polecenia Git i Ty nie musisz tego robić. Ta ściągawka dotycząca poleceń Git skupia się na małym zestawie obejmującym prawie całą codzienną pracę, pogrupowaną według zadania, które próbujesz wykonać.
Przetestowaliśmy lokalne polecenia w jednorazowym repozytorium demonstracyjnym przy użyciu Git dla Windows i pokazane dane wyjściowe pochodzą z tego uruchomienia, bez ostrzeżeń o zakończeniu linii. Twoje skróty zatwierdzeń będą się różnić. Zdalne polecenia wymagają serwera, więc ich nie uruchomiliśmy. Nie znasz jeszcze kontroli wersji? Zacznij od naszego samouczka Git dla początkujących.
Jak Git myśli: trzy obszary
Większość zamieszania znika, gdy wiesz, gdzie kryje się zmiana:
| Obszar | Co to trzyma | Przeniesiony tam przez |
|---|---|---|
| Katalog roboczy | Twoje pliki podczas ich edycji | Edytowanie |
| Obszar przejściowy (indeks) | Zmiany wybrane do następnego zatwierdzenia | git dodaj |
| Lokalne repozytorium | Twoja zapisana historia zatwierdzeń | git zatwierdz |
| Zdalne repozytorium | Udostępniona kopia, na przykład w GitHub | git, pchnij |
Konfiguracja i rozpoczęcie projektu
| Polecenie | Co to robi |
|---|---|
git config --global nazwa_użytkownika „Asha” |
Ustawia twoją nazwę przy zatwierdzeniach |
git config --global użytkownik.email „a@b.com” |
Ustawia Twój adres e-mail na zatwierdzenia |
git config --global init.defaultOddział główny |
Nazywa nowe domyślne gałęzie main |
inicjacja gita |
Tworzy repozytorium w bieżącym folderze |
git klon <url> |
Pobiera istniejące repozytorium |
git konfiguracja --lista |
Pokazuje Twoje bieżące ustawienia |
Zapisz swoją pracę
| Polecenie | Co to robi |
|---|---|
status gita |
Pokazuje, co się zmieniło |
git dodaj plik.txt |
Etapy jednego pliku |
git dodaj. |
Etapuje wszystkie zmiany w tym folderze |
git dodaj -p |
Etapy wybranych części pliku |
git różnica |
Pokazuje niestacjonarne zmiany |
git diff — wystawiony |
Pokazuje, co zostanie popełnione |
git commit -m „Wiadomość” |
Zapisuje etapowe zmiany jako zatwierdzenie |
git commit -am „Wiadomość” |
Etapuje śledzone pliki i zatwierdza je |
Oto jak zmienia się krótki widok stanu w miarę przenoszenia nowego pliku:
$ echo "hello" > app.txt
$ git status --short
?? app.txt
$ git add app.txt
$ git status --short
A app.txt
$ git commit -m "Add app file"
?? oznacza nieśledzony, a A oznacza dodany do przemieszczania. W formacie dwukolumnowym lewa kolumna to obszar przejściowy, a prawa kolumna to katalog roboczy. Zauważ, że git commit -am pomija zupełnie nowe pliki, więc musisz je najpierw dodać jawnie.
Gałęzie
| Polecenie | Co to robi |
|---|---|
gałąź gita |
Zawiera listę oddziałów lokalnych |
gałąź git -a |
Obejmuje odległe oddziały |
funkcja przełączania git/logowanie |
Przechodzi do oddziału |
git switch -c funkcja/logowanie |
Tworzy gałąź i przechodzi do niej |
git funkcja scalania/logowanie |
Łączy tę gałąź z obecną |
git rebase main |
Odtwarza Twoje zatwierdzenia na wierzchu main |
git gałąź -d funkcja/logowanie |
Usuwa scaloną gałąź |
git gałąź -D funkcja/logowanie |
Wymuś usunięcie niezłączonej gałęzi |
Oto mała gałąź funkcji od początku do końca:
$ git switch -c feature/login
$ echo "login" >> app.txt
$ git commit -am "Add login"
$ git switch main
$ git merge --no-edit feature/login
$ git log --oneline --graph
* d0450b6 Add login
* 676b684 Add app file
$ git branch -d feature/login
Deleted branch feature/login (was d0450b6).
Historia jest linią prostą, ponieważ main się nie poruszył, więc Git dokonał szybkiego scalania. Nadal będziesz widzieć git checkout w starszych przewodnikach. Działa, ale nowsze polecenia switch i restore dzielą wiele zadań na bardziej przejrzyste. Aby wybrać pomiędzy łączeniem a zmianą bazy, przeczytaj Scalanie w Git a rebase.
Praca z pilotami
| Polecenie | Co to robi |
|---|---|
git zdalnie -v |
Wyświetla listę pilotów i ich adresów URL |
git Remote dodaj pochodzenie <url> |
Łączy pilota |
pobierz git |
Pobiera zmiany bez łączenia |
git, pociągnij |
Pobiera, a następnie integruje z twoją gałęzią |
git, pchnij |
Przesyła Twoje zatwierdzenia |
git push -u funkcja pochodzenia/logowanie |
Pcha nową gałąź i śledzi ją |
git Push Origin --usuń funkcję/logowanie |
Usuwa zdalny oddział |
git push --force-with-lease |
Siła pcha, ale tylko wtedy, gdy nikt inny nie pchał |
fetch jest zawsze bezpieczny, ponieważ nigdy nie zmienia twoich plików. Jeśli chcesz nadpisać gałąź po zmianie bazy, wybierz --force-with-lease zamiast zwykłego --force, ponieważ nie powoduje to usunięcia nowych zatwierdzeń kolegi.
Skrytka: odłóż pracę na bok
Skrytka przydaje się, gdy chcesz zmienić zadania, ale nie jesteś gotowy na zatwierdzenie:
$ echo "wip" >> app.txt
$ git stash
$ git status --short
# clean, the change is put away
$ git stash pop
$ git status --short
M app.txt
| Polecenie | Co to robi |
|---|---|
git skrytka |
Zapisuje zmiany i czyści katalog roboczy |
git stash -u |
Zawiera nieśledzone pliki |
git lista skrytek |
Pokazuje zapisane skrytki |
git stash pop |
Przywraca najnowszą skrytkę i usuwa ją |
git stash zastosuj |
Przywraca go, ale zachowuje |
Zobacz historię
| Polecenie | Co to robi |
|---|---|
git log --oneline |
Pokazuje jedną linię na każde zatwierdzenie |
git log --oneline --graph --all |
Rysuje wszystkie gałęzie |
git log -p plik.txt |
Pokazuje zmiany pliku w czasie |
git pokaż <hash> |
Pokazuje szczegółowo jedno zatwierdzenie |
git plik winy.txt |
Pokazuje, kto ostatnio zmienił każdą linię |
git refloguj |
Pokazuje wszędzie, gdzie HEAD był |
git na pół |
Binarne wyszukuje zatwierdzenie, które dodało błąd |
Cofnij błędy: „Chcę…”
To jest część, na którą patrzy większość ludzi. Znajdź swoją sytuację:
| Sytuacja | Polecenie |
|---|---|
| Odrzuć niezastosowane zmiany w pliku | git przywróć plik.txt |
| Usuń plik ze scenerii, ale zachowaj zmiany | git recovery --staged plik.txt |
| Napraw wiadomość lub pliki ostatniego zatwierdzenia | git commit --popraw |
| Cofnij ostatnie zatwierdzenie, zachowując zmiany etapowe | git reset --soft HEAD~1 |
| Cofnij ostatnie zatwierdzenie, zachowując zmiany nieskonfigurowane | git zresetuj GŁOWĘ~1 |
| Bezpiecznie cofnij wypchnięte zatwierdzenie | git przywróć <hash> |
| Wyrzuć wszystkie lokalne zmiany | git reset --trudne |
| Usuń nieśledzone pliki | git clean -fd (podgląd z -n) |
| Odzyskaj „utracone” zatwierdzenie | git reflog, następnie git branch rescue <hash> |
Wskazówka: Zanim zaczniesz robić coś ryzykownego, uciekaj git branch backup. To nic nie kosztuje, a daje etykietę, do której możesz wrócić. git reset --hard i git clean mogą trwale zniszczyć niezaangażowaną pracę, której nawet reflog nie jest w stanie odzyskać.
Resetuj vs przywróć vs przywróć
Te trzy nazwy powodują wiele zamieszania, ale robią zupełnie inne rzeczy:
| Polecenie | Działa dalej | Zmienia historię? | Bezpiecznie na współdzielonych oddziałach? |
|---|---|---|---|
przywracanie gita |
Pliki | Nie | Tak, ale odrzuca zmiany lokalne |
git przywróć |
Zatwierdzenie poprzez dodanie jego przeciwieństwa | Dodaje do tego | Tak |
git zresetuj |
Wskaźnik gałęzi | Przepisuje to | Nie |
W naszym demo popełniliśmy złą linię i cofnęliśmy ją. Plik wrócił do swojej wcześniejszej zawartości, natomiast błąd pozostał widoczny w logu jako historia:
$ echo "oops" >> app.txt
$ git commit -am "Bad change"
$ git revert --no-edit HEAD
$ cat app.txt
hello
login
Następnie git reset --soft HEAD~1 usunął ostatnie zatwierdzenie, ale pozostawił zmiany w fazie, co git status --short pokazało jako M app.txt.
Tagi
| Polecenie | Co to robi |
|---|---|
tag git |
Lista tagów |
tag git v1.0 |
Tworzy lekki tag |
git tag -a v1.0 -m „Wydanie” |
Tworzy znacznik z adnotacjami, najlepszy w przypadku wydań |
git push pochodzenia v1.0 |
Wypycha tag (tagi domyślnie nie wypychają) |
Tagi często uruchamiają potoki wydań, jak wyjaśnia nasz przewodnik CI/CD po akcjach GitHub.
Prosty codzienny przepływ pracy
git switch main
git pull
git switch -c feature/search
# edit files
git status
git add -p
git commit -m "Add search by product name"
git push -u origin feature/search
# open a pull request, get a review, then merge
Napisz komunikaty zatwierdzeń wyjaśniające zmianę imperatywu, np. „Napraw przekierowanie logowania”. Podziękujesz sobie, czytając dziennik za sześć miesięcy.
Typowe błędy
- Zatwierdzanie wpisów tajnych. Usunięcie pliku podczas późniejszego zatwierdzenia nie powoduje usunięcia go z historii. Natychmiast obróć sekret i użyj
.gitignore. - Przepisywanie udostępnionej historii. Nie resetuj ani nie zmieniaj bazy zatwierdzeń, które inni już pobrali.
- Używanie
git add .na ślepo. Najpierw sprawdźgit status, więc pliki kompilacji i dzienniki nie będą widoczne. - Używając zwykłego
--force. Preferuj--force-with-lease. - Dokonywanie ogromnych zatwierdzeń. Małe zatwierdzenia są łatwiejsze do przeglądu, przywrócenia i podzielenia na pół.
Podsumowanie
Poznaj trzy obszary i tuzin poleceń, a Git przestanie być straszny. Miej pod ręką tabelę cofania i pamiętaj, że git status i git reflog to Twoje zabezpieczenie. Aby zbudować zaufanie, utwórz jednorazowe repozytorium, a następnie celowo je niszcz i naprawiaj, ponieważ jest to najtańsze miejsce na popełnienie błędów.
Najczęstsze pytania
Jakie są najczęściej używane polecenia Git?
Codziennym zestawem jest status git, dodawanie, zatwierdzanie, push, pull, przełączanie, rozgałęzianie, scalanie i logowanie. Tych kilka poleceń obejmuje większość typowego dnia pracy.
Jak cofnąć ostatnie zatwierdzenie w Git?
Jeśli jest lokalny, użyj git reset –soft HEAD~1, aby zachować zmiany w fazie. Jeśli już to wypchnąłeś, użyj git revert, aby historia pozostała nienaruszona dla innych.
Jaka jest różnica między git fetch i git pull?
git fetch pobiera tylko nowe dane i pozostawia pliki w spokoju. git pull pobiera, a następnie łączy lub ponownie bazuje te zmiany na bieżącej gałęzi.
Jaka jest różnica między git reset a git revert?
git reset przesuwa wskaźnik gałęzi i może przepisać historię. git revert dodaje nowe zatwierdzenie, które cofa wcześniejsze, co czyni go bezpiecznym na współdzielonych gałęziach.
Czy mogę odzyskać usuniętą gałąź w Git?
Zwykle tak. Znajdź jego ostatnie zatwierdzenie za pomocą git reflog, a następnie utwórz gałąź ponownie, podając nazwę oddziału git i skrót, pod warunkiem, że Git jeszcze jej nie wyczyścił.
Ucz się dalej
Potrzebujesz pomocy przy testowaniu, WordPressie lub SEO?
Pomagamy zespołom dostarczać lepsze oprogramowanie i rozwijać ich witryny. Powiedz nam, nad czym pracujesz, a my zaproponujemy jasny następny krok.
Więcej poradników na testowanie, sztuczna inteligencja i nowoczesny rozwój
Podobał Ci się ten artykuł? Wybierz temat i przejdź bezpośrednio do naszych najnowszych tutoriali.
Wyjaśnienie halucynacji AI: dlaczego modele językowe tworzą rzeczy i jak je zmniejszyć
Wyjaśniono halucynacje AI: czym są, dlaczego powstają w modelach językowych, typowe typy, jak je zredukować za pomocą uziemień i podpowiedzi oraz pr…
Przeczytaj artykuł →DevOpsWyjaśnienie zmiennych środowiskowych: pliki .env, sekrety i konfiguracja wykonana prawidłowo
Zmienne środowiskowe wyjaśnione na przykładach Pythona, które przeprowadziliśmy: ich odczytywanie i ustawianie, dlaczego każda wartość jest ciągiem …
Przeczytaj artykuł →Tworzenie oprogramowaniaWyjaśnienie ograniczenia szybkości interfejsu API: algorytmy, nagłówki i obsługa błędów 429
Ograniczanie szybkości API wyjaśnione za pomocą przeprowadzonej przez nas symulacji: zasobnik tokenów, stałe okno, przesuwane okno, 429 odpowiedzi, …
Przeczytaj artykuł →Automatyzacja testówWyśmiewanie w Pythonie: unittest.mock, patch i błędy, które sprawiają, że testy kłamią
Wyśmiewanie w Pythonie za pomocą unittest.mock, przetestowane: Mock i zwracana wartość, efekt uboczny, łatanie tam, gdzie używana jest nazwa, specyf…
Przeczytaj artykuł →Testowanie oprogramowaniaWyjaśnienie zasięgu kodu: pokrycie linii i oddziału oraz co naprawdę oznacza 100%
Wyjaśnienie pokrycia kodu za pomocą prawdziwego pliku cover.py: pokrycie linii, gałęzi i warunków, przeczytanie raportu, dlaczego 100% pokrycia może…
Przeczytaj artykuł →Bazy danych i SQLDELETE vs TRUNCATE vs DROP w SQL: różnice, wycofywanie i kiedy używać każdego z nich
DELETE vs TRUNCATE vs DROP wyjaśnione za pomocą przetestowanego SQL: co każdy usuwa, wycofywanie, wyzwalacze, resetowanie tożsamości, prędkość i czy…
Przeczytaj artykuł →Bazy danych i SQLWyjaśnienie widoków SQL: tworzenie, używanie i unikanie pułapek wraz z przykładami
Widoki SQL wyjaśnione za pomocą zapytań, które uruchomiliśmy: tworzenie widoku, wyniki na żywo, ukrywanie kolumn, wydajność, widoki z możliwością ak…
Przeczytaj artykuł →Tworzenie oprogramowaniaInterfejs TypeScript a typ: rzeczywiste różnice, testowane za pomocą kompilatora
Interfejs TypeScript a typ, sprawdzony z prawdziwym kompilatorem: co oba mogą zrobić, co tylko jeden, łączenie deklaracji, rozszerzenia a przecięcia…
Przeczytaj artykuł →Tworzenie oprogramowaniaPython *args i **kwargs wyjaśnione: elastyczne funkcje z przejrzystymi przykładami
Python *args i **kwargs wyjaśnione za pomocą uruchomionego przez nas kodu: pakowanie i rozpakowywanie, kolejność parametrów, argumenty zawierające t…
Przeczytaj artykuł →Tworzenie oprogramowaniaFunkcje Lambda w Pythonie: składnia, rzeczywiste zastosowania i kiedy ich nie używać
Funkcje lambda w Pythonie wyjaśnione za pomocą uruchomionego przez nas kodu: składnia, sortowanie za pomocą klucza, mapa i filtr, domknięcia, pułapk…
Przeczytaj artykuł →Sztuczna inteligencjaKim są agenci AI? Jak one działają, dzięki prostej pętli agenta, którą możesz uruchomić
Kim są agenci AI? Prosty przewodnik po pętli agenta, narzędziach, pamięci i poręczach, z małą pętlą w Pythonie, którą uruchomiliśmy, prawdziwymi zag…
Przeczytaj artykuł →DevOpsMonitorowanie a obserwowalność: prawdziwa różnica z logami, wskaźnikami i śladami
Wyjaśnienie monitorowania a obserwowalności: znane i nieznane awarie, dzienniki, metryki i ślady, opis incydentu przy kasie, złote sygnały, OpenTele…
Przeczytaj artykuł →DevOpsWoluminy platformy Docker a mocowania powiązań: utrwalanie danych kontenera we właściwy sposób
Wyjaśniono woluminy Dockera a montowanie powiązań: dlaczego dane kontenera znikają, nazwane woluminy, montowanie powiązań, tmpfs, przykłady tworzeni…
Przeczytaj artykuł →Automatyzacja testówTDD vs BDD: kluczowe różnice, jedna funkcja zbudowana w obie strony i kiedy używać każdej z nich
TDD vs BDD wyjaśnione za pomocą jednej funkcji rabatowej zbudowanej w obie strony: refaktoryzacja czerwono-zielona z uruchomionym przez nas kodem, s…
Przeczytaj artykuł →Testowanie oprogramowaniaTestowanie akceptacyjne użytkownika (UAT): proces, lista kontrolna i rzeczywiste przykłady
Wyjaśniono testy akceptacyjne użytkownika: kto je przeprowadza, czym różni się od kontroli jakości, siedmioetapowy proces, szablon przypadku testowe…
Przeczytaj artykuł →Bazy danych i SQLWyjaśnienie wartości SQL NULL: IS NULL, COALESCE, NULLIF i pułapki, których należy unikać
Wartości SQL NULL wyjaśnione za pomocą zapytań, które wykonaliśmy: logika trójwartościowa, IS NULL, COALESCE, NULLIF, w jaki sposób agregacje, łącze…
Przeczytaj artykuł →Bazy danych i SQLInstrukcja SQL CASE WHEN: składnia, rzeczywiste przykłady i typowe błędy
SQL CASE WHEN wyjaśnione za pomocą zapytań, które uruchomiliśmy: proste i przeszukiwane formularze, kolejność warunków, elementy przestawne z SUM, s…
Przeczytaj artykuł →Tworzenie oprogramowaniaCo to jest JWT? Tokeny internetowe JSON wyjaśnione na przykładzie działania
Co to jest JWT? Wyjaśniono tokeny sieciowe JSON: trzy części, token zbudowany i zmodyfikowany w uruchomionym przez nas kodzie, JWT a sesje, pamięć m…
Przeczytaj artykuł →Tworzenie oprogramowaniaWyjaśnienie pętli zdarzeń JavaScript: stos wywołań, mikrozadania i liczniki czasu z przykładami
Pętla zdarzeń JavaScript wyjaśniona za pomocą uruchomionego przez nas kodu: stos wywołań, kolejki zadań i mikrozadań, dlaczego setTimeout 0 nie jest…
Przeczytaj artykuł →Tworzenie oprogramowaniaWyjaśnienie generatorów Pythona i wydajności: oszczędzaj pamięć dzięki prawdziwym przykładom
Generatory Pythona i wydajność wyjaśnione za pomocą uruchomionego przez nas kodu: sposób wstrzymywania i wznawiania, mierzone oszczędności pamięci, …
Przeczytaj artykuł →Sztuczna inteligencjaCzym są osady? Wyjaśnienie wektorów i podobieństwa cosinusa
Czym są osadzania? Prosty przewodnik po wektorach, podobieństwie cosinusów i wyszukiwaniu semantycznym, z małym przykładem, który przeprowadziliśmy,…
Przeczytaj artykuł →DevOpsWdrożenie niebiesko-zielone a kanaryjskie: różnice, kompromisy i sposób wyboru
Wyjaśniono wdrożenie Blue-Green vs Canary: sposób działania każdego z nich, koszty, ryzyko i wycofywanie zmian, przetestowane przez nas stabilne łąc…
Przeczytaj artykuł →Automatyzacja testówNiestabilne testy: co je powoduje i jak je naprawić na dobre
Niestabilne testy wyjaśnione w przeprowadzonych przez nas demonstracjach: główne przyczyny, sposób potwierdzenia i zdiagnozowania jednej z nich, odp…
Przeczytaj artykuł →Testowanie oprogramowaniaLoad Testing vs Stress Testing: Differences, Metrics and k6 Examples
Wyjaśniono testy obciążenia i testy warunków skrajnych: co dowodzi każdy z nich, testy szczytowe i nasiąkania, istotne metryki, dlaczego średnie wpr…
Przeczytaj artykuł →Testowanie oprogramowaniaPrzypadek testowy a scenariusz testowy: kluczowe różnice, przykłady i kiedy stosować każdy z nich
Wyjaśnienie przypadków testowych i scenariuszy testowych: jasne definicje, tabela obok siebie, jedna funkcja resetowania hasła zaczerpnięta ze scena…
Przeczytaj artykuł →Bazy danych i SQLOptymalizacja zapytań SQL: czytaj plany wykonania i napraw powolne zapytania z synchronizacją
Optymalizacja zapytań SQL przetestowana na milionie wierszy: przeczytaj plany wykonania, dodaj odpowiednie indeksy, napraw filtry niesargowalne, uży…
Przeczytaj artykuł →Bazy danych i SQLSQL UNION vs UNION ALL: różnice, przykłady i testowana wydajność
SQL UNION vs UNION ALL wyjaśnione na podstawie zapytań, które uruchomiliśmy: duplikaty, obie reguły są zgodne, prawdziwy błąd danych, zmierzona wyda…
Przeczytaj artykuł →Tworzenie oprogramowaniaSamouczek API pobierania JavaScript: GET, POST, obsługa błędów i limity czasu
Samouczek JavaScript Fetch API testowany na serwerze lokalnym: GET i POST, dlaczego 404 nie rzuca, pomocnik wielokrotnego użytku, ciągi zapytań, prz…
Przeczytaj artykuł →Tworzenie oprogramowaniaObsługa plików w Pythonie: odczyt, zapis, CSV, JSON i pathlib z przykładami
Obsługa plików w Pythonie wyjaśniona za pomocą uruchomionego przez nas kodu: tryby otwarte, czytanie dużych plików, CSV, JSON, pathlib, pliki binarn…
Przeczytaj artykuł →Tworzenie oprogramowaniaKlasy i obiekty Pythona: samouczek OOP z prawdziwymi przykładami
Klasy i obiekty Pythona objaśnione za pomocą uruchomionego przez nas kodu: __init__, metody, atrybuty klas i instancji, dziedziczenie, właściwości, …
Przeczytaj artykuł →Sztuczna inteligencjaCo to jest model dużego języka? Jak działają LLM, wyjaśnione bez szumu
Co to jest model dużego języka? LLM wyjaśnione prostym językiem: tokeny, osadzanie, uwaga, szkolenie, temperatura i okna kontekstowe, mała demonstra…
Przeczytaj artykuł →DevOpsPolecenia systemu Linux dla początkujących: niezbędny przewodnik po terminalu z przykładami
Polecenia systemu Linux dla początkujących, pogrupowane według zadań: nawigacja, pliki, przeglądanie logów, grep, potoki, uprawnienia, procesy i arc…
Przeczytaj artykuł →Automatyzacja testówSelenium kontra dramaturg: kluczowe różnice, porównanie kodu i wybór
Porównanie Selenium i Playwright: architektura, oczekiwanie, obsługa przeglądarki i języka, debugowanie, ten sam test w obu narzędziach, porady doty…
Przeczytaj artykuł →Testowanie oprogramowaniaPartycjonowanie równoważne: technika projektowania testów wyjaśniona na praktycznych przykładach
Wyjaśniono podział równoważny: jak znaleźć prawidłowe i nieprawidłowe partycje, sprawdzone przykłady dla grup wiekowych, hasła i kupony, przeprowadz…
Przeczytaj artykuł →Testowanie oprogramowaniaWażność a priorytet w testowaniu oprogramowania: różnice, macierz i rzeczywiste przykłady
Wyjaśniono ważność a priorytet w testowaniu oprogramowania: jasne definicje, czterokierunkowa macierz z przykładami, skale poziomów, kto ustawia każ…
Przeczytaj artykuł →Bazy danych i SQLSamouczek dotyczący podzapytań SQL: typy, skorelowane podzapytania i ISTNIEJĄ z przykładami
Samouczek dotyczący podzapytań SQL z zapytaniami, które wykonaliśmy: podzapytania skalarne, IN, FROM i SELECT, podzapytania skorelowane, EXISTS, puł…
Przeczytaj artykuł →Bazy danych i SQLWyjaśnienie transakcji SQL i ACID: COMMIT, ROLLBACK i poziomy izolacji
Transakcje SQL i ACID wyjaśnione za pomocą wykonanego przez nas przelewu bankowego: COMMIT, ROLLBACK, punkty zapisu, blokady, poziomy izolacji, brud…
Przeczytaj artykuł →Tworzenie oprogramowaniaŚciągawka dotycząca poleceń Git: polecenia, których faktycznie używasz, z przykładami
Ściągawka poleceń Git pogrupowana według zadań: konfiguracja, przemieszczanie, gałęzie, piloty, skrytka, historia i cofanie błędów, z danymi wyjścio…
Przeczytaj artykuł →Tworzenie oprogramowaniaWyjaśnienie obietnic JavaScript: następnie catch, Promise.all i typowe błędy
Obietnice JavaScript wyjaśnione za pomocą uruchomionego przez nas kodu: stany, łańcuchy then i catch, obsługa błędów, Promise.all, allSettled, race …
Przeczytaj artykuł →Tworzenie oprogramowaniaSamouczek słownika języka Python: metody, przykłady i typowe wzorce
Samouczek słownika języka Python z uruchomionym przez nas kodem: tworzenie, odczytywanie i aktualizowanie słowników, metody kluczowych, łączenie, ro…
Przeczytaj artykuł →Sztuczna inteligencjaCo to jest RAG? Generacja rozszerzona o wyszukiwanie wyjaśniona na przykładzie roboczym
Co to jest RAG? Generowanie wspomagane pobieraniem wyjaśnione krok po kroku: indeksowanie, fragmentowanie, osadzanie, pobieranie, mały działający pr…
Przeczytaj artykuł →DevOpsSamouczek Terraform dla początkujących: Infrastruktura jako kod od pierwszego pliku do modułów
Samouczek Terraform dla początkujących: zacznij bez konta w chmurze, naucz się inicjowania, planowania i stosowania, a następnie zmiennych, wyników,…
Przeczytaj artykuł →DevOpsDocker kontra Kubernetes: kluczowe różnice, jak ze sobą współpracują i czego potrzebujesz
Wyjaśniono Docker vs Kubernetes: co robi każdy z nich, ta sama aplikacja działa z obydwoma, porównanie Docker Compose i Swarm, zmiana podkładki dock…
Przeczytaj artykuł →Automatyzacja testówSamouczek Pytest dla początkujących: urządzenia, parametryzacja i prawdziwe przykłady
Samouczek pytest dla początkujących z testami, które przeprowadziliśmy na pytest 9.2: asercje, urządzenia, parametryzacja, conftest, znaczniki, tmp_…
Przeczytaj artykuł →Testowanie oprogramowaniaCykl życia testowania oprogramowania (STLC): 6 faz, kryteria wejścia i wyjścia, przykład
Wyjaśniono cykl życia testowania oprogramowania: sześć faz STLC z kryteriami wejścia i wyjścia, elementy dostarczane, działający przykład funkcji lo…
Przeczytaj artykuł →Tworzenie oprogramowaniaGit merge vs rebase: różnice, przykłady i kiedy czego używać
Git merge vs rebase wyjaśnione na prawdziwym wyniku logu, z tabelą porównawczą, złotą zasadą rebase i bezpiecznym procesem pracy zespołu.
Przeczytaj artykuł →Tworzenie oprogramowaniaPython list comprehension: składnia, przykłady i kiedy jej unikać
Python list comprehension wyjaśnione: składnia, filtrowanie, if-else, zagnieżdżone pętle, zmierzone czasy i sytuacje, w których zwykła pętla for jes…
Przeczytaj artykuł →Bazy danych i SQLSQL JOIN – wyjaśnienie z przykładami (Inner, Left, Right, Full)
Zrozum złączenia SQL krok po kroku na przykładowych tabelach i zapytaniach: INNER, LEFT, RIGHT, FULL, CROSS i SELF, plus typowe błędy i wskazówki wy…
Przeczytaj artykuł →