32 Ściągawka z komendami Git dla początkujących

Opublikowany: 2022-09-23

Ściągawka z poleceniami GIT jest przydatnym źródłem informacji dla programistów i zawiera najczęściej używane polecenia w projektach git.

Co to jest GIT?

GIT to repozytorium typu open source, w którym użytkownicy mogą umieszczać swoje pliki, w tym kod, pliki ZIP, tekst lub cały projekt.

Ma kilka funkcji, takich jak współpraca, kontrola wersji, kontrola procesów itp. GIT przechowuje pliki wydajniej i zapewnia lepszą integralność niż inne systemy kontroli wersji. Git to narzędzie wiersza poleceń.

Co to jest GitHub?

Dzięki zgrabnemu interfejsowi użytkownika GitHub, centrum dla programistów, stał się najczęściej używanym systemem kontroli wersji i jest dostępny dla każdego i wszędzie.

Przepływ pracy w Git

Git ma różne przepływy pracy, a każdy projekt powinien mieć jeden w oparciu o jego wymagania. Przepływ pracy Git to nic innego jak lekki przepływ pracy oparty na gałęziach, który pomaga zespołom regularnie wdrażającym projekty.

Na przykład rozwidlający się przepływ pracy Git tworzy lokalną kopię repozytorium. Tak więc każdy programista ma lokalny obszar roboczy i centralne repozytorium. Ten rodzaj przepływu pracy jest dobry, gdy zaangażowanych jest wielu programistów i umożliwia programistom współpracę nad rozwidloną kopią przed wprowadzeniem zmian w głównym repozytorium.

Dlaczego potrzebujemy Gita?

Ponieważ Git jest systemem kontroli wersji, programiści nieustannie pracują nad nim, aby zapisać swoje zmiany, udostępnić je innym, scalić swoje zmiany z innymi i wiele więcej.

Aby wprowadzić jakiekolwiek zmiany w repozytorium Git, programiści muszą znać odpowiednie polecenia do właściwego działania. Poniżej znajduje się lista ważnych i często używanych poleceń Git:

Typowe polecenia Git

git dodaj

Aby dodać określony plik(i) do inscenizacji

 git add <file> -- add a specific file git add * -- add all the files

archiwum git

Tworzy archiwa zatwierdzeń, gałęzi i drzew oraz łączy wiele plików w jeden. Możesz odzyskać zawartość, wyodrębniając pliki w razie potrzeby

git archive HEAD — utwórz archiwum z HEAD ref repozytorium

git archive output = '.tar' — przechowuj zarchiwizowane pliki w podanej lokalizacji

git archive --format=tar.gz — określa format zarchiwizowanego pliku, np. tar, zip, tar.gz

git oddział

Wyświetla wszystkie gałęzie w repozytorium. Nowy oddział o nazwie zostanie utworzony, jeśli zostanie określony oddział. Aby usunąć gałąź, użyj opcji -d z nazwą gałęzi. Aby zmienić nazwę aktualnej gałęzi, użyj -m.

git branch — wyświetla wszystkie branche

git branch <branch_name > — tworzy nową gałąź o nazwie 'branch_name', ale nie pobiera nowej gałęzi.

git branch -d <branch_name> — usuwa gałąź, uniemożliwia usunięcie, jeśli istnieją jakieś niescalone zmiany

git branch -D <branch_name> — wymuś usunięcie gałęzi, nawet jeśli istnieją niescalone zmiany

git branch -m <branch2> — zmień nazwę bieżącej gałęzi

git plik-kot

Wyświetlaj informacje o zawartości lub rozmiarze/typach obiektów repozytorium

git cat-file <object> — pokazuje zawartość obiektu

git cat-file -t <object> — wyświetla typ obiektu

git cat-file -s <object> — pokazuje rozmiar obiektu

git cat-file -p <object> — wypisz typ obiektu w ładny sposób

git cat-file -e <object> — pokazuje błąd na stderr, jeśli obiekt ma nieprawidłowy format lub nie istnieje

git cat-file <type> <object> — pokazuje surową zawartość obiektu

git kasa

Aby przełączać się między różnymi gałęziami repozytorium, używaj go ostrożnie, ponieważ nie można tego cofnąć.

git checkout <branch_name> — pobiera określoną gałąź

git checkout -b <branch_name> — utwórz nową gałąź i przełącz się do tej gałęzi

Na przykład:

 C:\Users\geekflare>git checkout -b development_branch Switched to a new branch 'development_branch'

posprzątać

Posprzątaj dyrektora roboczego. Pliki, które zostały zatwierdzone, nie zostaną usunięte

git clean -n — wyświetla listę plików, które zostaną usunięte

git clean -f — usuwa pliki

git klon

Utwórz kopię istniejącego repozytorium do nowego katalogu. Przydatne, aby uzyskać kopię rozwojową centralnego repozytorium.

git clone <central_repo> <new_dir> — utwórz kopię centralnego repozytorium do nowego katalogu

Na przykład:

 C:\Users\geek>git clone geekflare master Cloning into 'master'… done.


git clone -branch <branch> <repo> — klonuje gałąź ze wspomnianego repozytorium

git commit

Zapisuje zmiany w środowisku pomostowym, aby inni mogli je zobaczyć.

git commit — zatwierdź zmiany w poczekalni

git commit -m <useful_msg> — wyświetla komunikat po zatwierdzeniu, aby podkreślić wprowadzone zmiany

git commit -a — zatwierdź zmiany bezpośrednio, bez przemieszczania

Załóżmy, że dodałeś plik o nazwie samplefile.txt do katalogu roboczego i chcesz go zatwierdzić. Po wydaniu powyższego polecenia otrzymasz dane wyjściowe:

 Please enter the commit message for your changes. Lines starting with '#' will be ignored, and an empty message aborts the commit. On branch master Initial commit Changes to be committed: new file: samplefile.txt

Gdy podasz wiadomość, zmiany zostaną zatwierdzone:

 C:\Users\geekflare>git commit -m 'samplemsg' [integration_branch (root-commit) ed52dd0] 'samplemsg' 1 files changed, 24 insertions(+) create mode 100644 samplefile.txt

konfiguracja git

Określa poziom konfiguracji, w którym ma zostać zapisana wartość właściwości. Poziom „Lokalny” jest domyślny (gdy nic nie jest określone).

git config –local — zapisuje konfigurację w katalogu .git repozytorium

git config –global — zapisuje konfigurację w katalogu domowym użytkownika

git config –system — zawiera konfigurację wszystkich użytkowników i repozytoriów i znajduje się w pliku git config w katalogu głównym.

git diff

Porównaj zmiany w repozytorium git, które można wykonać przed przemieszczaniem, w trakcie przemieszczania i po dodaniu (zatwierdzenie).

git diff — śledź zmiany w repozytoriach, które nie są jeszcze umieszczone w fazie

git diff --staged — śledzi zmiany w plikach poczekalni (które nie są zatwierdzone)

git diff HEAD — śledź zmiany pliku po zatwierdzeniu

git diff <commit1_id> <commit2_id> — śledzi zmiany między dwoma zatwierdzeniami; możesz znaleźć commit_ids używając ' git log -p --follow --filename '

pobierz git

Pobierz oddział lub całe zdalne repozytorium

git fetch <remote-url> — pobierz całe repozytorium ze zdalnego adresu URL repozytorium

git fetch <branch_url> <branchname> — pobierz konkretną gałąź

git fetch -all — pobierz wszystkie gałęzie zdalnego repozytorium

git fetch origin — zaktualizuj i zsynchronizuj lokalne repozytorium z nowymi zmianami w zdalnym repozytorium

git fsck

Polecenie File System C hec K sprawdza poprawność i łączność obiektów bazy danych. Sprawdza SHA-1ID obiektów i połączenia, które tworzą. Fsck jest przydatny do odzyskiwania utraconych zatwierdzeń i plików.

git fsck –full

git gc

Uruchamia usuwanie elementów bezużytecznych w bieżącym repozytorium i czyści nieużywane pliki.

git gc

git grep

Wyszukuje określoną zawartość w repozytorium. Git zapewnia wiele opcji wyszukiwania na różne sposoby

git grep -i 'search_term' — szukaj ignorując wielkość liter [Człowiek i mężczyzna będą tacy sami]

git grep -f <file_name> — pokaż pasujące wzorce określonego pliku

git grep -e 'search-term' — użyj -e do dopasowywania wzorców

git grep -E 'regexp|multiple_exp' Wyszukaj wyrażenia regularne, możemy przeszukiwać wiele za pomocą operatora potoku (OR)

git grep -n 'expr' — przedrostek numer linii pasującej linii

git grep -c 'expr' — pokaż liczbę pasujących linii zamiast każdej linii

git ls-drzewo

Aby wyświetlić zawartość obiektu drzewa z bieżącego katalogu.

git ls -tree -d <path> — pokaż tylko określony wpis drzewa, a nie dzieci

git ls -tree -r — rekurencja do poddrzew

git ls -tree -l — pokazuje rozmiar obiektów pliku (blob)

git ls -tree --name-only — wyświetla tylko nazwy plików, a nie długie dane wyjściowe

git ls -tree --full-name — pokazuje pełne nazwy ścieżek, a nie tylko ścieżkę względną do bieżącego katalogu

Przykład:

 C:\Users\geek>git ls-tree --full-tree -r HEAD 100644 blob e883e60087e84f1660a9673ccb86eb0adc4f004d samplefile.txt 100644 blob 1426dc6fbff0677a484b248983a8740ff30fbb80 sample_jsindex.js

git init

Utwórz nowe puste repozytorium. Jest to pierwsze polecenie, które wykonujesz, aby utworzyć projekt git.

git init — tworzy repozytorium .git w katalogu roboczym,

Na przykład, aby utworzyć nowe repozytorium o nazwie „geekflare”, wydaj polecenie jako:

 $ git init geekflare Initialized empty Git repository in C:/Users/geek/geekflare/.git/

git instaweb

Interfejs użytkownika do przeglądania repozytorium git za pomocą przeglądarki. Używa skryptu CGI GitWeb do tego samego.

git instaweb --httpd=webrick — uruchamia serwer (httpd) i otwiera przeglądarkę internetową na stronie.

Aby zatrzymać serwer, użyj powyższego polecenia z opcją –stop.

git log

Rejestruje każdą aktywność w repozytorium git.

git log — wyświetla kilka ostatnich zatwierdzeń

git log --oneline — pokazuje dane wyjściowe jako pierwsze 7 znaków SHA i komunikat zatwierdzenia z jednym zatwierdzeniem na linię

git log stat — wyświetla więcej informacji o zmodyfikowanych plikach, takich jak liczba dodanych/usuniętych linii, podsumowanie wszystkich zmienionych rekordów, dodanych/usuniętych linii

git log --patch (or -p) — pokazuje zmodyfikowane pliki, określone zmiany i ich lokalizację

git log --graph — Wyświetl wyniki logów w formie wykresu

git log -<n> — wyświetla liczbę ostatnich 'n' zatwierdzeń

git log --after=<date/x days/yesterday> — wyświetla wszystkie zatwierdzenia po określonej dacie. Możesz użyć --before , aby wyświetlić zatwierdzenia przed określoną datą

git log --author=<author_name> — wyświetla zatwierdzenia konkretnego autora (użytkownika).

git log --grep=<commit message> — filtruj zatwierdzenia na podstawie komunikatu zatwierdzenia

git scalania

Integruje wszystkie pliki programistyczne w jedną gałąź, łączy dwie gałęzie i łączy wiele zatwierdzeń w jedną historię. Scalanie zatrzymuje się w przypadku konfliktu, a git przedstawia pliki konfliktu. Po rozwiązaniu konfliktów scalanie jest kontynuowane.

git checkout -b — najpierw pobierz gałąź do scalenia

git add <file>

git commit — dodaj i zatwierdź pliki

git checkout master

git merge — połącz gałąź z master

git śliwka

Usuwa (przycina) pliki, które są niedostępne w bieżącej gałęzi. Jest to proces czyszczenia mający na celu usunięcie nieużywanych plików z oddziału

git prune -n ​​— nie przycinaj, tylko pokaż, co można przyciąć

git prune -v — pokazuje wynik działań wykonanych przez prune

git prune --progress — pokazuje postęp suszonych śliwek

git fetch --prune — przycina wszystkie przestarzałe gałęzie

git pull

Odbiera dane ze zdalnego serwera do działającego repozytorium. Aktualizuje lokalną (roboczą) gałąź o wszystkie najnowsze pliki ze zdalnego repozytorium.

git pull — wyciągnij zdalne repozytorium

git pull <repo URL> — wyciągnij konkretną zdalną gałąź

git push

Wypycha wszystkie lokalne zmiany do zdalnego repozytorium. Jest to proces przesyłania dokładnie odwrotny do poleceń ściągania i pobierania

git checkout master — checkout gałęzi, która ma najnowsze zmiany

git push origin master — wypchnij zmiany do zdalnego repozytorium

Przykład:

 C:\Users\geek>git checkout development_branch Switched to branch 'development_branch' C:\Users\geek>git push master development_branch Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Delta compression using up to 4 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (4/4), 612 bytes | 204.00 KiB/s, done. Total 4 (delta 0), reused 0 (delta 0), pack-reused 0 To master [development_branch] development_branch -> development_branch

Możemy również użyć push do usunięcia gałęzi zdalnej za pomocą polecenia git push --delete <branch> .

Na przykład:

 C:\Users\geek>git push master --delete development_branch To master [deleted] development_branch

git rebase

Łączy wiele zatwierdzeń z różnych gałęzi, aby utworzyć nowe ostateczne zatwierdzenie podstawowe. Przydatne przed scaleniem wszystkich zmian, aby zatwierdzić zmiany z różnych gałęzi jedna po drugiej (liniowo).

git rebase <branch name> — połącz zmiany w jedną ostateczną bazę

Jeśli występują konflikty, rozwiąż je i kontynuuj zmianę bazy:
git rebase --continue

Aby pominąć jakąkolwiek zmianę:
git rebase --skip

git zdalny

Sprawdza konfigurację serwera zdalnego i umożliwia dostęp do połączenia między zdalnym a lokalnym.

git remote — domyślnie zwraca 'origin', domyślną nazwę zdalnego serwera podaną przez Git

git remote -v — wyświetla krótkie nazwy i adresy URL wszystkich dostępnych połączeń zdalnych

git remote add <short name> <remote url> — jawnie dodaje zdalny serwer do dostępnych połączeń. Krótka nazwa może być używana w poleceniach git zamiast podawania całego adresu URL.

git remote remove <remote url/short name> — usuwa zdalny serwer z repozytorium

git reset

Wróć do poprzedniego zatwierdzenia i odrzuć zmiany wprowadzone po tym zatwierdzeniu

git reset <hash of the commit> — przywraca repozytorium do określonego zatwierdzenia. Git zachowa historię zatwierdzeń, więc możesz wykonać kolejny reset z innym zatwierdzeniem (haszem), aby cofnąć reset.

git rm

Usuwa określony plik z git. Możesz cofnąć efekt rm za pomocą polecenia reset lub checkout

git rm <file_ name> — usuń określony plik

Aby usunąć pliki z git, ale zachować je lokalnie (staging), użyj:

git rm --cached

git pokaż

Wyświetl dowolny obiekt, taki jak blob, drzewo, zatwierdzenie lub znacznik, określając jego SHA1

git show — bez określenia <object> pokazuje szczegóły ostatniego zatwierdzenia w gałęzi.

git show <SHA1_id> — pokazuje zawartość obiektu określoną przez jego identyfikator SHA1, na przykład identyfikator obiektu blob, identyfikator drzewa itp. Aby sprawdzić typ obiektu, użyj polecenia git cat-file -t

git show –pretty — pokazuje dane wyjściowe w ładnym formacie.

Możesz podać niestandardowy format:

git show --pretty = 'format:Name: <format>' Możesz też użyć jednego z krótkich, pełnych, jednowierszowych, średnich lub pełniejszych formatów, na przykład:

git show --pretty= 'medium' — pokaże autora, datę, tytuł i pełny komunikat zatwierdzenia

git show --abbrev-commit — skrót SHA1

git schowek

Aby zmienić gałęzie bez zatwierdzania w bieżącej gałęzi, bezpiecznie przechowuj niezatwierdzone dane

git stash — zapisuje pracę i stan indeksu

git stash save <message> — podaj wiadomość podczas zapisywania

git stash list — Wyświetl listę ukrytych treści

git stash apply — zatwierdź ukryte zmiany. Aby zastosować zmiany w określonej skrytce, użyj identyfikatora indeksu skrytki wraz z Apply

git stash show — przeglądaj zawartość ukrytych plików

git stash drop — usuwa ostatnią skrytkę z kolejki

status git

Wyświetl stan repozytorium i przemieszczania, tj. stan przed etapem zatwierdzania. Możesz użyć tego polecenia po każdym innym poleceniu git, takim jak dodawanie, aktualizowanie lub usuwanie pliku

git status — pokazuje zmiany, które mają zostać zatwierdzone lub nieśledzone (bez poczekalni)

Na przykład, jeśli dodasz plik w katalogu roboczym o nazwie samplefile.txt i sprawdzisz, czy został dodany, możesz wydać powyższe polecenie. Da to wynik w następujący sposób:

 On branch master No commits yet Changes to be committed: (use "git rm --cached …" to unstage) new file: samplefile.txt

git tag

Przyjazne referencje służą do wskazywania kamieni milowych lub punktów odniesienia w kodzie

git tag <tag_name> — utwórz tag o podanej nazwie

git tag — lista wszystkich dostępnych tagów

git tag show <tag_name> — pokaż szczegóły określonego tagu

git tag -l “.*” — pokaż tagi pasujące do określonego wzorca lub znaków

gitka

Uruchamia interfejs użytkownika git, który wyświetla zawartość, zatwierdzenia, pełną różnicę i inne szczegóły w oknie

gitk — otwórz repozytorium git w oknie wizualizacji

wersja git

Użyj polecenia git version, aby sprawdzić wersję używanego git.

 C:\Users\geekflare>git version git version 2.38.0.windows.1

Ostatnie słowa

W tym poście wymieniono najczęściej używane polecenia git wraz z ich opcjami.

Następnie możesz sprawdzić skaner poświadczeń GitHub.