GIT — Git
GIT Repozytorium Git przegląda się jak folder: zmienione pliki, gałęzie, historia.
Otwarcie repozytorium
Przycisk GIT na pasku skacze do ulubionego projektu; jego prawy przycisk daje listę: znane repozytoria, „Commit”, „Historia…”, gałęzie, „Stash…” i „Odłożone zmiany”, „Tagi…”, „Repozytoria zdalne”. Folder z dysku, który nie jest jeszcze repozytorium, proponuje tam „Sklonuj tutaj repozytorium…”. Projekty dodają się same przy wejściu do nich, a projekt, którego folder zniknął, jest zapominany — chyba że brakuje jego dysku: odłączony pendrive nie każe niczego zapominać.
Stan folderu
Każdy wiersz ma swój kolor: w konflikcie, nieśledzone, zmodyfikowane, przygotowane, ignorowane. Plik jest opisywany przez git na dwóch osiach — indeksu i kopii roboczej — a wiersz nie ma czym pokazać obu: o kolorze decyduje to, co zostaje do zrobienia. Ścieżka nawigacyjna podaje bieżącą gałąź.
Przygotowanie i commit
„Commit” otwiera widok zmian: jeden plik na wiersz, kolumna Śledzony mówi, co git o nim wie. Wiersze wskazuje się jak wszędzie indziej — kliknięcie, Ctrl+kliknięcie, Shift+kliknięcie —, na dole pisze się komunikat, a Commit wysyła to, co zaznaczono. Nic nie zaznaczone, nic nie idzie: przycisk o tym mówi.
Przycisk Nieśledzone na pasku commita ukrywa to, czego git nie śledzi: folder pełen plików jednorazowych nie zagłusza już dwóch, które chce się zatwierdzić, a Ctrl+A już ich nie zabiera. Odznaczony mówi, ile ukrywa.

Zobaczyć różnice
„Pokaż różnice” otwiera diff blok po bloku, między kopią roboczą, indeksem (przygotowane) a commitem — przed i po są tam nazwane. Plik binarny o tym mówi, zamiast pokazywać szum.
Gesty
- Commit z komunikatem.
- Ignoruj: plik trafia do
.gitignore. - Cofnij (rollback): okno mówi, ile nowych plików zniknie z dysku, a ile wróci do stanu z repozytorium. Niezacommitowana praca jest tracona — jest to napisane.
- Kopiuj › schowek: wiersz zmian jest plikiem z dysku i kopiuje się jak taki — by wkleić go gdzie indziej, także poza Meneaufile. Ani wycinania, ani wklejania: lista jest układana na nowo przez git, nie usuwa się z niej wiersza ani nie zapisuje się w niej niczego.
- Otwórz w lokalizacji: plik jest gdzie indziej niż jego wiersz — ten żyje na liście, on w kopii roboczej, tam, gdzie się go edytuje. Tam prowadzi ta pozycja.
Gałęzie i historia
Utworzyć gałąź, przełączyć się na nią, scalić — pozycja nosi nazwę gałęzi i odpowiada nie ma czego scalać: już aktualne albo scalanie wstrzymane: niektóre pliki są w konflikcie. „Historia…” wylicza commity: ich krótki skrót, temat, autora, datę. Lewy margines rysuje graf, każdy wiersz na własnym torze, a scalenie prowadzi swoją kreskę do sąsiedniej kolumny. Dwukrotne kliknięcie otwiera szczegóły commita: jego pełny komunikat i pliki, których dotknął.

Drzewo merge requestów
Drzewo merge requestów… w menu przycisku GIT rysuje otwarte MR projektu GitLab wskazanego przez zdalne repozytorium. Każdy stoi pod gałęzią, z której wychodzi, z wcięciem o jeden krok jak spis treści: etap mówi, w jakiej kolejności je zatwierdzać, a kliknięcie karty otwiera MR w przeglądarce.
- Pochodzenie odczytuje się z commitów. MR wyprowadzony z innego stoi pod nim, nawet gdy oba celują w
main: „po !28” mówi, który zatwierdzić najpierw, a „cel main” ostrzega, że wciąż celuje wmain— scalenie go najpierw przeniosłoby commity tamtego. - Odznaki pokazują stan podany przez GitLaba: szkic, konflikty, wymaga rebase, do zatwierdzenia, otwarte dyskusje, pipeline w toku, gotowy.
- Przycisk Checkout w prawym górnym rogu każdej karty przełącza kopię roboczą na gałąź MR, by ją wypróbować lub przejrzeć przed zatwierdzeniem. Gałąź jest najpierw pobierana z serwera; trwającą pracę można odłożyć, jak przy każdej zmianie gałęzi. Znaczek wskazuje gałąź, na której już jesteś.
- Osobisty token dostępu z uprawnieniem
read_apitworzy się w GitLabie: User settings › Access › Personal access tokens › Generate token. Meneaufile prosi o niego raz i przechowuje go w sejfie, w osobnej karcie; karta NET z hasłem konta nie jest brana za token.

main, na której jesteś.Wymiana ze zdalnym repozytorium
„Pull” i „Push”, z liczbą commitów w grze obok etykiety — zero się nie pisze. Gałąź, która jeszcze nie istnieje po drugiej stronie, idzie ze swoim upstreamem. Repozytoria zdalne deklaruje się i usuwa z tego samego menu. Gdy serwer żąda poświadczeń, Meneaufile prosi o nie z kolei, zamiast utknąć bez słowa.
Odłożenie na bok
„Stash…” odkłada bieżącą pracę bez commitowania, z opcjonalnym opisem; „Odłożone zmiany” — Odłożona praca — wylicza to, co czeka, i stamtąd się wznawia lub odrzuca. „Tagi…” dodaje je i usuwa w ten sam sposób.
Kto napisał ten wiersz
„Autorstwo wierszy” w menu pliku przypisuje każdy wiersz do jego commita i autora. To pytanie, które zadaje się przy zaskakującym wierszu, a lista commitów na nie nie odpowiada.
Konflikty
Plik w konflikcie otwiera się na swoich wersjach: wspólnej, naszej, ich oraz wyniku, który się buduje. „Weź wszystko” przenosi całą jedną stronę, „Rozwiąż” zapisuje — a plik opuszcza kategorię w konflikcie.
Klonowanie
Z folderu: adres
(https://… lub git@host:org/repo.git), nazwa folderu
do utworzenia oraz historia pełna lub płytka — ostatnie N commitów.
Pliki bundle
Plik .bundle to repozytorium Git spakowane w jeden plik: dość, by
zabrać projekt na pendrivie albo przekazać go komuś, bez serwera. Dwukrotne
kliknięcie pokazuje, co zawiera — jego gałęzie, jego tagi — a
Sklonuj tutaj… robi z niego zwykłe repozytorium, tuż obok, bez
sieci. W repozytorium Utwórz bundle… w menu GIT pakuje je
w całości do folderu w drugim widoku.
Gdy brakuje gita
Meneaufile wywołuje git z systemu. Jeśli go nie ma lub jest poza PATH,
mówi o tym, zamiast zawieść bez powodu.
Podręcznik Meneaufile, po polsku.