# Laboratorium 3 ## Prerekwizyt - obsługa linux [Linux tutorial by Post group](https://www.purdue.edu/postlab/resources/linux-tutorial/) * Utwórz folder * Utwórz plik text.txt * Zapisz go pod inną nazwą, zmień jego prawa dostępu * Utwórz softlink oraz hardlink ## Logowanie SSH z użyciem klucza prywatnego ### konfiguracja 1. [Co to są klucze SSH](https://www.ssh.com/ssh/public-key-authentication) 2. [Generowanie klucza](https://linuxize.com/post/how-to-set-up-ssh-keys-on-debian-10/) 3. Zapisz klucz publiczny w pliku *~/.ssh/authorizedkeys* 4. Ściągnij go za pomocą [WinSCP](https://winscp.net/eng/download.php) na komputer. Uwaga na ukryte foldery (Opcja/Preferencje/Panele/Show Hidden Folders) ![](https://i.imgur.com/4q17cjf.png) 5. Za pomocą puttygen zamień klucz z formatu OpenSSH do kompatybilnego z Putty ![](https://i.imgur.com/HPEbB5L.png) 6. Putty > ustawienia / ssh/ authentication ![](https://i.imgur.com/K868vUY.png) ### szyfrowanie/ deszyfrowanie plików openSSL [instrukcja](https://www.czeskis.com/random/openssl-encrypt-file.html) ## Korzystanie z GIT ### Źródła [Pro Git 2nd Edition](https://git-scm.com/book/en/v2) [Cheat Sheet](https://www.atlassian.com/dam/jcr:e7e22f25-bba2-4ef1-a197-53f46b6df4a5/SWTM-2088_Atlassian-Git-Cheatsheet.pdf) ### Wstęp 1. zainstaluj Git na maszynie wirtualnej 2. ustaw użytkownika 4. [stwórz repozytorium Git Init](https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository) ### Podstawy pracy ![Git files lifecycle](https://git-scm.com/book/en/v2/images/lifecycle.png) 1. Checking the Status of Your Files, short status 2. Dodaj plik tekstowy do repo, wybierz go do commit 3. Dodaj plik z rozszerzeniem .tmp i go zignoruj 4. Dodaj folder o nazwie tmp i go zignoruj 5. Zmodyfikuj plik tekstowy i zobacz zmiany za pomocą diff 6. Zrób commit 7. Komenda rm: usunięcie pliku zupełnie/ tylko ze stagging area 8. Jak git obsługuje zmianę nazw plików? 9. Zapisz log hostory do pliku w tym samym folderze i zcomituj go 10. Zmień plik, **nadpisz** poprzedni commit (amend) 11. Jak korzystać z Reset, Checkout i Restore do odzyskiwania pliku/ usunięcia go z stagging area * https://www.atlassian.com/git/tutorials/undoing-changes * https://www.atlassian.com/git/tutorials/resetting-checking-out-and-reverting 12. Skonfiguruj konto github i założ puste repozytorium 13. Zrób push lokalnego repozytorium - git remote set-url origin https://github.com/USERNAME/REPOSITORY.git 15. Sklonuj je do inneg folderu 16. Zrób zmianę w nowym folderze 17. Pobierz je w starym folderze (użyj fetch i potem merge) 18. Zrób lokalny commit a potem go całkowicie usuń (--force).