|
|
|
@ -1,31 +1,79 @@
|
|
|
|
git instrukcja:
|
|
|
|
GIT
|
|
|
|
|
|
|
|
instrukcja:
|
|
|
|
|
|
|
|
|
|
|
|
git config --global user.name <YOUR_NAME>
|
|
|
|
git config --global user.name <YOUR_NAME>
|
|
|
|
git config --global user.email <YOUR_EMAIL>
|
|
|
|
git config --global user.email <YOUR_EMAIL>
|
|
|
|
git config --global -l
|
|
|
|
git config --global -l
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tworzenie nowego repozytorium z linii poleceń:
|
|
|
|
Tworzenie nowego repozytorium z linii poleceń:
|
|
|
|
|
|
|
|
|
|
|
|
touch README.md
|
|
|
|
touch README.md
|
|
|
|
git init
|
|
|
|
git init
|
|
|
|
git checkout -b main
|
|
|
|
git checkout -b main
|
|
|
|
git add README.md
|
|
|
|
git add README.md
|
|
|
|
git commit -m "first commit"
|
|
|
|
git commit -m "first commit"
|
|
|
|
git remote add origin https://gitea.raspinetwork.com/<user>/<Repo.git>
|
|
|
|
|
|
|
|
git push -u origin main
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Wypychanie istniejącego repozytorium z linii poleceń:
|
|
|
|
Wypychanie istniejącego repozytorium z linii poleceń:
|
|
|
|
|
|
|
|
git remote add origin https://gitea.raspinetwork.com/<Repo.git>
|
|
|
|
git remote add origin https://gitea.raspinetwork.com/<user>/<Repo.git>
|
|
|
|
|
|
|
|
git push -u origin main
|
|
|
|
git push -u origin main
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Lista komend:
|
|
|
|
Przyklad połaczenie zmian z masterem:
|
|
|
|
basics:
|
|
|
|
-- 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 init – inicjalizuje repozytorium GIT w katalogu
|
|
|
|
git clone {adres repozytorium} – klonuje repozytorium do 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)
|
|
|
|
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)
|
|
|
|
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 -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 fetch {nazwa remota} – pobiera listę zmian z innego repozytorium (w tym pokazuje nowe gałęzie)
|
|
|
|
git remote -v – lista repo
|
|
|
|
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
|
|
|
|
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 – tworzy commita z aktualnie zmienionych plików
|
|
|
|
git commit -m „wiadomosc” – tworzy commmita z podaną w cudzysłowach wiadomością
|
|
|
|
git commit -m „wiadomosc” – tworzy commmita z podaną w cudzysłowach wiadomością
|
|
|
|
git commit –amend -m „{wiadomość}” – umożliwia zmianę ostatniego commita
|
|
|
|
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
|
|
|
|
git shortlog -sn – ile commitów zrobionych przez userów
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log:
|
|
|
|
log:
|
|
|
|
|
|
|
|
|
|
|
|
git log – wyświetla listę commitów (od najnowszego)
|
|
|
|
git log – wyświetla listę commitów (od najnowszego)
|
|
|
|
git log -{numer} wyświetla podaną liczbę ostatnich commitów
|
|
|
|
git log -{numer} wyświetla podaną liczbę ostatnich commitów
|
|
|
|
git log –oneline – wyświetla commity w postaci skróconej
|
|
|
|
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
|
|
|
|
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 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 {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)
|
|
|
|
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
|
|
|
|
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 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 {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)
|
|
|
|
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
|
|
|
|
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 –name-only {gałąź 1} {gałąź 2} – porównanie dwóch gałęzi
|
|
|
|
git diff –cached – pokazuje wszystkie gotowe do commitu zmiany
|
|
|
|
git diff –cached – pokazuje wszystkie gotowe do commitu zmiany
|
|
|
|
git diff –cached | grep -wi {fraza} – szuka podanej frazy w commicie
|
|
|
|
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
|
|
|
|
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 {commit} – szczegóły podanego commita
|
|
|
|
git show –name-only {commit} – nazwy zmodyfikowanych plików w commicie
|
|
|
|
git show –name-only {commit} – nazwy zmodyfikowanych plików w commicie
|
|
|
|
git show –name-only {commit} – pokazuje tylko listę zmodyfikowanych plików z commita
|
|
|
|
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 +/-
|
|
|
|
–color-words – pokaże bez +/-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
branch:
|
|
|
|
branch:
|
|
|
|
|
|
|
|
|
|
|
|
git branch – lista gałęzi w repozytorium
|
|
|
|
git branch – lista gałęzi w repozytorium
|
|
|
|
git branch -a – pokazuje listę wszystkich gałęzi (łącznie z tymi z repo, same z repo -r)
|
|
|
|
git branch -a – pokazuje listę wszystkich gałęzi (łącznie z tymi z repo, same z repo -r)
|
|
|
|
-r – tylko gałęzie zdalne
|
|
|
|
-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
|
|
|
|
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 – zapisuje nowe i zmodyfikowane pliki do pamięci podręcznej
|
|
|
|
git stash pop – przywraca zapisane pliki z pamięci podręcznej
|
|
|
|
git stash pop – przywraca zapisane pliki z pamięci podręcznej
|
|
|
|
git stash pop –index 1
|
|
|
|
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
|
|
|
|
git stash push -m {message} {plik} – stashuje z komentarzem wskazany plik
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tag:
|
|
|
|
tag:
|
|
|
|
|
|
|
|
|
|
|
|
git tag -l – lista tagów
|
|
|
|
git tag -l – lista tagów
|
|
|
|
git tag -a {} -m '{}' –
|
|
|
|
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)
|
|
|
|
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
|
|
|
|
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 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 rebase -i {commit} – j/w ale commity wybierane ręcznie
|
|
|
|
git log -i -1 –pretty=”format::%an <%ae>\n” –author=”$1″ – info o userze
|
|
|
|
git log -i -1 –pretty=”format::%an <%ae>\n” –author=”$1″ – info o userze
|
|
|
|
|