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.