1
1

uzupełnienie repo o różne pomoce

This commit is contained in:
2026-04-21 20:58:36 +02:00
parent c3266e4854
commit d72216df26
37 changed files with 4755 additions and 159 deletions
@@ -0,0 +1,417 @@
# Instrukcja pracy z Git i Gitea
Ten dokument zawiera kompletną instrukcję pracy z systemem kontroli wersji Git oraz platformą Gitea dla studentów seminarium. Instrukcja jest zorganizowana od podstaw do bardziej zaawansowanych operacji.
---
## Spis treści
1. [Co to jest Git?](#1-co-to-jest-git)
2. [Instalacja Git](#2-instalacja-git)
3. [Pierwsze logowanie do Gitea](#3-pierwsze-logowanie-do-gitea)
4. [Konfiguracja Git na komputerze](#4-konfiguracja-git-na-komputerze)
5. [Pierwsze pobieranie repozytorium](#5-pierwsze-pobieranie-repozytorium)
6. [Codzienna praca z Git](#6-codzienna-praca-z-git)
7. [Sprawdzanie statusu pracy](#7-sprawdzanie-statusu-pracy)
8. [Rozwiązywanie problemów](#8-rozwiązywanie-problemów)
9. [Zaawansowane operacje](#9-zaawansowane-operacje)
10. [Dobre praktyki](#10-dobre-praktyki)
---
## 1. Co to jest Git?
Git to narzędzie do **kontroli wersji** plików, które umożliwia:
- Śledzenie historii zmian w plikach
- Współpracę wielu osób nad tym samym projektem
- Przywracanie poprzednich wersji plików
- Równoległą pracę nad różnymi wersjami projektu (gałęzie)
**Gitea** to platforma webowa (podobna do GitHub), która pozwala na wygodne przeglądanie repozytoriów przez przeglądarkę internetową.
---
## 2. Instalacja Git
Przed rozpoczęciem pracy musisz zainstalować Git na swoim komputerze.
### Windows
1. Pobierz instalator ze strony: **https://git-scm.com/download/windows**
2. Uruchom pobrany plik i postępuj zgodnie z instrukcjami instalatora
3. Podczas instalacji pozostaw domyślne ustawienia (klikaj „Next")
4. Po instalacji otwórz **Git Bash** lub **PowerShell** i sprawdź instalację:
```bash
git --version
```
Alternatywnie możesz zainstalować Git przez winget (w PowerShell):
```bash
winget install --id Git.Git -e --source winget
```
### macOS
**Opcja 1 Xcode Command Line Tools** (najprostsza):
```bash
xcode-select --install
```
**Opcja 2 Homebrew** (zalecana dla aktualnej wersji):
```bash
brew install git
```
Po instalacji sprawdź wersję:
```bash
git --version
```
### Linux (Ubuntu/Debian)
```bash
sudo apt-get update
sudo apt-get install git
```
### Linux (Fedora)
```bash
sudo dnf install git
```
Po instalacji sprawdź wersję:
```bash
git --version
```
---
## 3. Pierwsze logowanie do Gitea
1. Otwórz przeglądarkę internetową i przejdź na adres:
**http://150.254.88.90:3000**
2. Zaloguj się używając:
- **Login**: Twój adres uczelniany (np. `pawkle1@st.amu.edu.pl`)
- **Hasło początkowe**: `HakerzyZnają` (zmień je przy pierwszym logowaniu!)
3. Po zalogowaniu przejdź do **Ustawień profilu** i uzupełnij:
- Imię i nazwisko
- Avatar (opcjonalnie)
1. Kliknij **Odkrywaj**, aby zobaczyć dostępne repozytoria.
1. Otwórz repozytorium.
2. Możesz edytować i przeglądać pliki, README, literaturę lub materiały przez stronę www.
---
## 4. Konfiguracja Git na komputerze
Po instalacji Git musisz skonfigurować swoje dane. Otwórz terminal (Git Bash na Windows) i wykonaj:
```bash
git config --global user.name "Twoje Imię i Nazwisko" # zapisane w Gitea
git config --global user.email "twoj.email@st.amu.edu.pl"
```
Te dane będą widoczne przy każdej wprowadzonej przez Ciebie zmianie. Jeśli chcesz używać inne repozytoria, np. na GitHub od Microsoftu pomiń `--global` aby ustawienia były lokalne, tylko do danego repozytorium.
Sprawdź konfigurację:
```bash
git config --list
```
---
## 5. Pierwsze pobieranie repozytorium
### Przez terminal
1. Otwórz terminal (na windowsie PowerShell lub CMD) i przejdź do katalogu, w którym chcesz mieć repozytorium:
```bash
cd /ścieżka/do/katalogu
```
2. Sklonuj repozytorium:
```bash
git clone http://150.254.88.90:3000/Seminaria-KLEKA/Seminarium-Psychologia-2027.git
# jeśli pojawi sie info o braku uwierzytelnienia - zaloguj sie do repozytorium w przeglądarce
# jesli nie masz programu git ściągnij go ze strony https://git-scm.com/install/
```
3. Jeśli pojawi się prośba o uwierzytelnienie podaj login i hasło z Gitea.
4. Wejdź do sklonowanego katalogu:
```bash
cd Seminarium-Psychologia-2027
```
### Przez aplikację graficzną
Możesz też używać aplikacji graficznych takich jak:
- **GitHub Desktop** (https://desktop.github.com)
- **Sourcetree** (https://www.sourcetreeapp.com)
---
## 6. Codzienna praca z Git
### Model 1: Praca na wspólnej gałęzi `main`
Ten model jest odpowiedni, gdy wszyscy pracują nad wspólnymi plikami. Tak np. jest w naszym seminarium na początku. W miarę rozrostu projektów możemy przenosić się na indywidualne gałęzie lub wręcze prywatne repozytoria.
#### Krok 1: Pobierz najnowsze zmiany (ZAWSZE na początku pracy!)
```bash
git pull
```
#### Krok 2: Wprowadź zmiany
Edytuj lub dodaj pliki w katalogu repozytorium (np. notatki w `.md`, skrypty R, dane).
#### Krok 3: Dodaj pliki do zapisu
Dodaj konkretny plik:
```bash
git add NAZWA-PLIKU.md
```
Lub dodaj wszystkie zmienione pliki:
```bash
git add . # dodaje wszystkie pliki na listę do wysyłki
```
#### Krok 4: Zatwierdź zmiany z opisem
```bash
git commit -m "Opis zmiany, np. Dodano pomysł na badanie X"
```
#### Krok 5: Wyślij zmiany na serwer
```bash
git push origin main # wysyła pliki do repozytorium na główną gałąź
```
#### Krok 6: Sprawdź na stronie Gitea
Zaloguj się do Gitea i sprawdź w zakładce **Code**, czy Twoje pliki się pojawiły.
---
### Model 2: Praca na własnej gałęzi
Ten model jest odpowiedni, gdy każdy pracuje nad własnymi danymi/plikami niezależnie od innych.
#### Tworzenie własnej gałęzi (jednorazowo)
```bash
git checkout main
git pull
git checkout -b nazwa-twojej-galezi
```
Na przykład: `dane-katarzyna`, `rozdzial-3`, `oliwia-wniosek`
#### Codzienna praca na swojej gałęzi
```bash
# Upewnij się, że jesteś na swojej gałęzi
git checkout nazwa-twojej-galezi
# Wprowadź zmiany w plikach...
# Dodaj i zatwierdź zmiany
git add .
git commit -m "Aktualizacja danych"
# Wyślij na serwer
git push origin nazwa-twojej-galezi
```
#### Przełączanie między gałęziami
```bash
git checkout main # przejście na gałąź główną
git checkout dane-katarzyna # przejście na gałąź Katarzyny
```
### Lista wszystkich gałęzi
```bash
git branch -a
```
---
## 7. Sprawdzanie statusu pracy
### Sprawdź status zmian
Pokazuje zmodyfikowane pliki oraz pliki oczekujące na zatwierdzenie:
```bash
git status
```
### Historia commitów
Wyświetla listę ostatnich zmian:
```bash
git log --oneline
```
### Sprawdź aktualną gałąź
```bash
git branch
```
Gwiazdka (\*) oznacza gałąź, na której aktualnie pracujesz.
### Sprawdź zdalne repozytorium
```bash
git remote -v
```
---
## 8. Rozwiązywanie problemów
### Merge conflict (konflikt scalania)
Pojawia się, gdy dwie osoby edytowały ten sam fragment pliku.
**Rozwiązanie:**
1. Git oznaczy konfliktowe miejsca w pliku znacznikami `<<<<<<<`, `=======`, `>>>>>>>`
2. Otwórz plik i ręcznie wybierz właściwą wersję
3. Usuń znaczniki konfliktu
4. Zapisz plik i wykonaj:
```bash
git add nazwa-pliku
git commit -m "Rozwiązano konflikt"
git push
```
### Brak zmian po `git push`
Sprawdź:
- Czy jesteś w odpowiednim katalogu repozytorium?
- Czy jesteś na właściwej gałęzi? (`git branch`)
- Czy wykonałeś `git add` i `git commit` przed `git push`?
### Błąd uwierzytelnienia
Zaloguj się najpierw do Gitea przez przeglądarkę, a następnie spróbuj ponownie.
---
## 9. Zaawansowane operacje
### Ignorowanie plików (`.gitignore`)
Aby Git ignorował określone pliki, utwórz plik `.gitignore` w głównym katalogu repozytorium:
```
# Pliki tymczasowe R
.Rhistory
.RData
.Rproj.user/
# Katalog na pliki lokalne
_lokalnie/
```
Od tej pory GIt nie będzie zwracał uwagi co się dzieje w katalogu `_lokalnie`
### Usunięcie pliku/katalogu z repozytorium (zachowując lokalnie)
```bash
git rm -r --cached nazwa-katalogu
git commit -m "Usunięto katalog z repozytorium"
git push
```
### Usunięcie katalogu z gałęzi main
Jeśli przez pomyłkę dodano prywatny katalog do `main`:
```bash
git checkout main
git rm -r NazwaKatalogu/
git commit -m "Usunięto prywatny katalog"
git push
```
### Zmiana adresu zdalnego repozytorium
```bash
git remote set-url origin http://150.254.88.90:3000/Seminaria-KLEKA/NazwaRepo.git
```
### Nadpisanie zdalnej wersji lokalną (OSTROŻNIE!)
**Uwaga:** Ta operacja nadpisuje historię na serwerze!
```bash
git push origin main --force
```
---
## 11. Dobre praktyki
1. **Zawsze wykonuj `git pull` przed rozpoczęciem pracy** unikniesz konfliktów.
2. **Używaj opisowych wiadomości w commitach** np. „Dodano analizę rzetelności skali X" zamiast „update".
3. **Nie wysyłaj plików tymczasowych** dodaj do `.gitignore`:
- `.Rhistory`
- `.RData`
- `.Rproj.user/`
4. **Nie wysyłaj dużych plików binarnych** Git nie jest optymalny dla dużych plików (np. baz danych, filmów).
5. **Regularnie zapisuj postępy** małe, częste commity są lepsze niż jeden duży.
6. **Pracując na własnej gałęzi** nie dodawaj katalogów innych.
7. **W README zapisuj postępy i refleksje** to ułatwia orientację w projekcie.
---
## Szybka ściągawka
| Polecenie | Opis |
|-----------|------|
| `git clone URL` | Pobierz repozytorium |
| `git pull` | Pobierz najnowsze zmiany |
| `git status` | Sprawdź status zmian |
| `git add .` | Dodaj wszystkie pliki |
| `git commit -m "opis"` | Zatwierdź zmiany |
| `git push origin main` | Wyślij na serwer |
| `git branch` | Pokaż gałęzie |
| `git checkout nazwa` | Przełącz gałąź |
| `git checkout -b nazwa` | Utwórz nową gałąź |
| `git log --oneline` | Historia commitów |
---
**Wskazówka:**
Jeśli zapomnisz hasła lub napotkasz problem techniczny, skontaktuj się z prowadzącym seminarium.
Binary file not shown.