Między serwerem developerskim -> repozytorium -> serwerem produkcyjnym
Kategoria: GIT
Serwer GIT
Instaluje główne repozytorium git na debianie:
# apt install git // dedykowany użytkownik git # adduser --system --shell /bin/bash --group --home /home/git git
Dodaj / usuń pliki do stage’a
Dodaje wszystkie nienadzorowane pliki
# git add . // dodaje wszystko w katalogu # git add -A // dodaje wszystko
Wycofuje ze stage’a wszystko – odwrotne działanie do powyższego
# git reset HEAD -- .
Wycofuje z nadzorowania pojedynczy plik / katalog
# git reset HEAD -- path/to/file
git – .gitignore + cakephp 4
Jakie pliki wrzucić co .gitignore?
Oficjalna wersja pliku na github – zobacz
Zdalne Repo
Bitbucket: git@bitbucket.org:john/repo_name.git
# git remote add origin git@bitbucket.org:john/repo_name.git
Merge – łączenie gałęzi
Wybieramy gałąź bazową (zwykle master) do której chcemy włączyć inną
# git checkout master # git merge patch01 # git log --graph --decorate # git push origin master // wysłanie do repo zdalnego
Branch, Checkout
Nowa gałąź obejmuje całe repozytorium rodzica
# git branch patch01 # git checkout patch01 # git branch -b patch01 // tworzy i od razu wybiera (przełącza się) gałąź # git branch patch02 patch01 // tworzy branch patch02 na podstawie patch01 (zamiast master)
git log
# git log # git log -- nazwa_pliku.txt # git log --oneline // poszcz. zatw. w jednej linii # git log --oneline nazwa_pliku.txt # git log -p // szczegółowe info # git log -p -- nazwa_pliku.txt # git log --graph --decorate
Praca z GitHub
Po dodaniu zdalnego repozytorium (zakłada katalog: MyProjectName)
# git clone git@github.com:my_username/MyProjectName.git
możemy aktualizować zmiany i wysyłać (push) do zdalnego repo GITHUB bez konfiguracji
# git push origin
Po zmianach wykonanych w zdalnym repo (GitHub) aktualizujemy lokalne repo
# git pull
Clone | ssh-keygen | ssh-add | tmux
Lokalny katalog projektu
# git clone project/ clone-of-project -- kopiuje śledzone pliki z projektu project/ w nowym katalogu clone-of...
Operacje na projekcie
Pierwsze operacje na nowym projekcie
# git status # git add nazwa_pliku # git add . // dodaje wszystko w katalogu # git add -A // dodaje wszystko # git commit -m "komentarz" # git commit -a -m "komentarz" // zatwierdza wszystko # git log
Git – wstępna konfiguracja
Linux:
# git config --system core.editor nano # git config --global user.name "myname" # git config --global user.email "myname@o2.pl"
Git – ssh
Kolejne kroki
- Instalacjja git – Windows – pobrać installer, Linux apt install git
- Repozytoria: github, gitlab, bitbucket
- W repozytorium – konfiguracja dostępu ssh na poziomie konta
- wygenerowanie kluczy ssh w systemie lokalnym (linux: ssh-gen, windows putty gen)
- wgranie kluczy publicznych w repozytorium
Generowanie kluczy w Linux:
# ssh-keygen -t rsa -b 4096 -f ./my_proj_key -C "Nazwa klucza"
- nie podawać hasła
# ls -l my_proj_key // klucz prywatny my_proj_key.pub // klucz publiczny