From 7b5573a86a203db8c4bc54a1e20eee0233d2f34c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Ko=C5=82odziej?= Date: Thu, 21 Mar 2024 10:23:11 +0000 Subject: [PATCH] Zaktualizuj 'README.md' --- README.md | 109 ++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 73 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 68ac2ca..702a690 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,79 @@ -git instrukcja: - - + GIT + instrukcja: git config --global user.name git config --global user.email git config --global -l -Tworzenie nowego repozytorium z linii poleceń: - + Tworzenie nowego repozytorium z linii poleceń: touch README.md git init git checkout -b main git add README.md git commit -m "first commit" -git remote add origin https://gitea.raspinetwork.com// -git push -u origin main - -Wypychanie istniejącego repozytorium z linii poleceń: - -git remote add origin https://gitea.raspinetwork.com// + Wypychanie istniejącego repozytorium z linii poleceń: +git remote add origin https://gitea.raspinetwork.com/ git push -u origin main -Lista komend: -basics: - + Przyklad połaczenie zmian z masterem: + -- zaczkładamy ze jestesmy na barnchu master + 1. git checkout -b nasz_branch --tworzymy nasz roboczy branch + 2. touch plik.txt --dodajemy nowy plik + 3. git add plik.txt --dodajemy plik go śledzenia gitea + 4. git commit -am "nowy plik" --dodajemy commit + 5. vi plik.txt -- edytujemy plik + 6. git commit -am "zmiana w pliku" --nastepny commit + 7. git checkout master + 8. git pull + 9. git log --podejrzenie zmian commitow z mastera + 10. git checkout nasz_branch + 11. git log --podejrzenie naszych commitów + 12. git rebase master -- łaczenie naszych zmian z masterem //potencjalne konflikty + 13. git checkout master + 14. git merge nasz_branch -- łączenie dodanie naszych zmian na masterze + + Przyklad 2: + # Przełączanie się na główną gałąź + git checkout master + # Pobranie najnowszych zmian z repozytorium zdalnego + git pull origin master + # Utworzenie nowej gałęzi na bazie głównej gałęzi + git checkout -b nowa_funkcjonalnosc + # Wprowadzenie zmian i zatwierdzenie ich + git add -u + git commit -m "Dodano nową funkcjonalność X" + # Pobranie najnowszych zmian z głównej gałęzi + git checkout master + git pull origin master + # Zintegrowanie zmian z głównej gałęzi do naszej gałęzi + git checkout nowa_funkcjonalnosc + git merge master + # Rozwiązanie konfliktów, jeśli wystąpią + # Wprowadzenie dodatkowych zmian, jeśli to konieczne + # Wysłanie zmian na zdalne repozytorium + git push origin nowa_funkcjonalnosc + + + Dobre praktyki: + 1. Stosujemy Rebase dla liniowej historii commitów + 2. + + Zdalne Repo: + 1. git remote -v --podgląd + 2. git pull --pobranie najnowszych zmian + 3. git log --podglad zmian + 4. vi plik.txt --zmiana w pliku + 5. git add -u -- dodanie wszystkich zmienionych śledzonych plików + 6. git coomit -m "commit" --commit + 7. git push --wypchniecie do zdalnego repo + + + + Lista komend: + + basics: git init – inicjalizuje repozytorium GIT w katalogu git clone {adres repozytorium} – klonuje repozytorium do katalogu git status – pokazuje status repozytorium (pokazuje informację o zmodyfikowanych, nowych, usuniętych oraz nie należące do repozytorium plikach) @@ -35,8 +83,7 @@ git config –global color.ui auto – włącza koloryzowanie wyników w konsoli git config –global core.pager '{nazwa}' – ustawia program do przeglądania logów (brak w konsoli) -repo: - + repo: git fetch -p – kasuje branche już nie istniejąca na głównym repo git fetch {nazwa remota} – pobiera listę zmian z innego repozytorium (w tym pokazuje nowe gałęzie) git remote -v – lista repo @@ -66,8 +113,7 @@ git rm {plik} – kasuje z repo plik git rm –cached (plik/katalog) – usuwa plik/katalog z repozytorium, pozostawiając go na dysku -r – dla całych katalogów -commit: - + commit: git commit – tworzy commita z aktualnie zmienionych plików git commit -m „wiadomosc” – tworzy commmita z podaną w cudzysłowach wiadomością git commit –amend -m „{wiadomość}” – umożliwia zmianę ostatniego commita @@ -79,8 +125,7 @@ git amend – zmienia poprzedniego commita git shortlog -sn – ile commitów zrobionych przez userów -log: - + log: git log – wyświetla listę commitów (od najnowszego) git log -{numer} wyświetla podaną liczbę ostatnich commitów git log –oneline – wyświetla commity w postaci skróconej @@ -108,8 +153,7 @@ git log –oneline {branch1} –not {branch2} – pokazuje różnice w commitach git log –oneline –grep {branch} –name-only | grep -v {branch} | sort | uniq – pokazuje tylko zmienione pliki dla podanego brancha -merge: - + merge: git merge {nazwa gałęzi} – dołączenie zmian ze wskazanej gałęzi git merge {nazwa remota}/{nazwa gałęzi} – dołączenie zmian ze wskazanego remota i gałęzi git merge –abort – przerywa łączenie (możliwe, gdy wystąpią konflikty) @@ -117,8 +161,7 @@ git merge –continue – po rozwiązaniu konfliktów zapisuje zmiany git merge –revert – cofa wszystkie wprowadzone zmiany -rebase: - + rebase: git rebase {nazwa gałęzi} – dołączenie zmian ze wskazanej gałęzi z zachowaniem kolejności wprowadzania zmian git rebase {nazwa remota}/{nazwa gałęzi} – dołączenie zmian ze wskazanego repozytorium i gałęzi z zachowaniem kolejności wprowadzania zmian git rebase –abort – przerywa łączenie (możliwe, gdy wystąpią konflikty) @@ -127,8 +170,7 @@ git rebase –interactive {commit} – pozwala wybrać commity które zostaną d git rebase –interactive '{hash}^' – umożliwia edycję commitów do podanego hasha -diff: - + diff: git diff –name-only {gałąź 1} {gałąź 2} – porównanie dwóch gałęzi git diff –cached – pokazuje wszystkie gotowe do commitu zmiany git diff –cached | grep -wi {fraza} – szuka podanej frazy w commicie @@ -146,8 +188,7 @@ git diff . – pokazuje zmiany dokonane na wszystkich zmienionych plikach git diff -p -R –no-color | grep -E „^(diff|(old|new) mode)” –color=never | git apply – resetuje zmiany w atrybutach plików -show: - + show: git show {commit} – szczegóły podanego commita git show –name-only {commit} – nazwy zmodyfikowanych plików w commicie git show –name-only {commit} – pokazuje tylko listę zmodyfikowanych plików z commita @@ -157,8 +198,7 @@ git show {commit} –name-only -p -5 – pokazuje 5 poprzednich comitów od poda –color-words – pokaże bez +/- -branch: - + branch: git branch – lista gałęzi w repozytorium git branch -a – pokazuje listę wszystkich gałęzi (łącznie z tymi z repo, same z repo -r) -r – tylko gałęzie zdalne @@ -176,8 +216,7 @@ git branch rename {stara nazwa} {nowa nazwa} – zmiana nazwy brancha git branch -m {stara nazwa} {nowa nazwa} – zmiana nazwy brancha -stash: - + stash: git stash – zapisuje nowe i zmodyfikowane pliki do pamięci podręcznej git stash pop – przywraca zapisane pliki z pamięci podręcznej git stash pop –index 1 @@ -193,8 +232,7 @@ git stash branch {name} – stworzy nową gałąź, pobierze ostatnią wersję p git stash push -m {message} {plik} – stashuje z komentarzem wskazany plik -tag: - + tag: git tag -l – lista tagów git tag -a {} -m '{}' – git tag –sort=v:refname | tail -2 | xargs printf „%s..%s” | xargs git log –no-merges –pretty=format:%s – wyświetla wszystkie commity między 2 ostatnimi tagami (| grep -o „SOC-[0-9]*” | sort –unique** – tickety) @@ -203,8 +241,7 @@ git tag -d {tag} && git push origin :refs/tags/{tag} – kasuje taga lokalnie + git lasttag – pokazuje ostatniego taga -Inne: - + Inne: git reset –soft HEAD~3; git commit -m – pozwala na cofnięcie się 3 commity do tyłu, i połączenie ich w jeden (git commit –amend) git rebase -i {commit} – j/w ale commity wybierane ręcznie git log -i -1 –pretty=”format::%an <%ae>\n” –author=”$1″ – info o userze