Skip to content

Jak dziala mygit

PaffcioStudio edited this page Dec 6, 2025 · 1 revision

Jak działa mygit

mygit opiera się na prostym modelu działania: każdy katalog może zostać repozytorium, a każdy snapshot jest pełną kopią projektu zapisaną w formacie ZIP.
System nie korzysta z różnic między plikami (diffów) ani z gałęzi — zamiast tego przechowuje kompletne obrazy projektu, co czyni go prostym, przewidywalnym i łatwym w utrzymaniu.

1. Inicjalizacja repozytorium

Repozytorium powstaje w chwili uruchomienia:

mygit init

W katalogu projektu tworzony jest folder .mygit/, który zawiera:

  • metadane repozytorium,
  • identyfikator repozytorium,
  • opis projektu,
  • katalog snapshotów,
  • log historii snapshotów.

Nie ingeruje to w pliki projektu — mygit działa w pełni obok niego.

2. Tworzenie snapshotu

Snapshot to pełna kopia stanu projektu w danej chwili.
Tworzy się go poleceniem:

mygit save "Opis snapshotu"

W tym momencie mygit:

  1. Odczytuje pliki projektu.
  2. Pomija elementy wymienione w .mygitignore.
  3. Pakuje pozostałe pliki do archiwum ZIP.
  4. Nadaje snapshotowi nazwę zgodną ze schematem:
<repo>_YYYY-MM-DD_HH-MM-SS.zip
  1. Zapisuje metadane snapshotu do logu repozytorium.

Snapshot jest kompletny — nie wymaga wcześniejszych wersji do przywracania.

3. Historia i logi

Każdy snapshot jest zapisywany w logu repozytorium.
Można je wyświetlić:

mygit log

W logu znajdują się:

  • nazwa snapshotu,
  • data utworzenia,
  • opis,
  • rozmiar snapshotu.

Dzięki temu można łatwo prześledzić rozwój projektu.

4. Pobieranie i przywracanie snapshotów

Komenda GET umożliwia pobranie snapshotu ZIP i rozpakowanie go do bieżącego katalogu (lub wskazanego folderu):

mygit get [repo[@snapshot]]

GET obsługuje dodatkowe opcje, takie jak:

  • nadpisywanie plików,
  • automatyczne backupy,
  • tryb symulacji (dry-run),
  • pomijanie konfliktów.

Snapshot po pobraniu stanowi odtworzony stan projektu z momentu jego utworzenia.

5. Plik .mygitignore

mygit obsługuje plik ignorowania analogiczny do .gitignore.
Pozwala to wykluczyć z snapshotów pliki i katalogi, takie jak:

node_modules/
dist/
*.log
.env

Dzięki temu snapshoty są:

  • mniejsze,
  • szybsze do tworzenia,
  • pozbawione zbędnych danych.

6. Struktura repozytorium

Przykładowa struktura po inicjalizacji:

projekt/
├── .mygit/
│   ├── repo.json
│   ├── log.json
│   └── snapshots/
│       ├── projekt_2025-12-04_15-30-00.zip
│       └── projekt_2025-12-05_10-12-14.zip
├── src/
├── README.md
└── inne pliki projektu

.mygit/ zawiera wszystkie dane systemowe, ale sam projekt pozostaje czysty.

7. Web panel

Po uruchomieniu serwera panelu, mygit udostępnia interfejs www (domyślnie: http://localhost:9614).
Panel umożliwia:

  • przeglądanie repozytoriów,
  • analizę statystyk,
  • pobieranie snapshotów,
  • oznaczanie ulubionych,
  • sortowanie i filtrowanie.

Panel nie ingeruje w działanie repozytorium — to tylko narzędzie wizualne.

8. Praca w pełni offline

mygit nie wymaga internetu, nie korzysta z usług zewnętrznych i nie wysyła żadnych danych.
Snapshoty ZIP możesz kopiować ręcznie lub wykorzystywać w LAN do współdzielenia wersji projektu.

9. Cykl pracy w skrócie

  1. Utwórz repozytorium – mygit init
  2. Pracuj nad projektem
  3. Twórz snapshoty – mygit save
  4. Przeglądaj historię – mygit log
  5. Przywracaj wersje – mygit get

Prosty model, czytelne snapshoty i brak zależności zewnętrznych sprawiają, że mygit jest narzędziem przewidywalnym i łatwym do utrzymania.

mygit – Dokumentacja


📘 Podstawy

🛠️ Funkcje i narzędzia

❗ Problemy i pomoc


© 2025–2026 PaffcioStudio

Clone this wiki locally