# 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)

5. Za pomocą puttygen zamień klucz z formatu OpenSSH do kompatybilnego z Putty

6. Putty > ustawienia / ssh/ authentication

### 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

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).