-
Notifications
You must be signed in to change notification settings - Fork 0
Jak dziala 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.
Repozytorium powstaje w chwili uruchomienia:
mygit initW 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.
Snapshot to pełna kopia stanu projektu w danej chwili.
Tworzy się go poleceniem:
mygit save "Opis snapshotu"W tym momencie mygit:
- Odczytuje pliki projektu.
- Pomija elementy wymienione w
.mygitignore. - Pakuje pozostałe pliki do archiwum ZIP.
- Nadaje snapshotowi nazwę zgodną ze schematem:
<repo>_YYYY-MM-DD_HH-MM-SS.zip
- Zapisuje metadane snapshotu do logu repozytorium.
Snapshot jest kompletny — nie wymaga wcześniejszych wersji do przywracania.
Każdy snapshot jest zapisywany w logu repozytorium.
Można je wyświetlić:
mygit logW logu znajdują się:
- nazwa snapshotu,
- data utworzenia,
- opis,
- rozmiar snapshotu.
Dzięki temu można łatwo prześledzić rozwój projektu.
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.
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.
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.
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.
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.
- Utwórz repozytorium –
mygit init - Pracuj nad projektem
- Twórz snapshoty –
mygit save - Przeglądaj historię –
mygit log - 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.
© 2025–2026 PaffcioStudio
Dokumentacja mygit
© 2025–2026 PaffcioStudio