Română

GIT — Git

GIT Un depozit Git se parcurge ca un dosar: fișierele modificate, ramurile, istoricul.

Deschiderea unui depozit

Butonul GIT din bară sare la proiectul favorit; clicul lui dreapta dă lista: depozitele cunoscute, „Commit”, „Istoric…”, ramurile, „Stash…” și „Munci puse deoparte”, „Etichete…”, „Depozite la distanță”. Un dosar de pe disc care nu este încă un depozit propune acolo „Clonează un depozit aici…”. Proiectele se adaugă singure când intrați în ele, iar un proiect al cărui dosar a dispărut este uitat — cu excepția cazului în care lipsește discul său, o cheie deconectată nefăcând să se uite nimic.

Starea unui dosar

Fiecare rând poartă culoarea lui: în conflict, neurmărit, modificat, pregătit, ignorat. Un fișier este descris de git pe două axe — indexul și copia de lucru — iar un rând nu are cum să le arate pe amândouă: ce mai rămâne de făcut este cel care decide culoarea. Calea de navigare spune ramura curentă.

Pregătire și commit

„Commit” deschide vederea modificărilor: un fișier pe rând, coloana Urmărit spunând ce știe git despre el. Rândurile se desemnează ca peste tot în altă parte — clic, Ctrl+clic, Shift+clic —, se scrie mesajul jos, iar Commit pleacă cu ce este selectat. Nimic selectat, nimic nu pleacă: butonul o spune.

Butonul Neurmărite, din bara de commit, ascunde ce nu urmărește git: un dosar plin de fișiere de unică folosință nu le mai îneacă pe cele două pe care vrei să le faci commit, iar Ctrl+A nu le mai ia cu el. Debifat, spune câte ascunde.

Vederea modificărilor unui depozit: trei fișiere, starea lor de urmărire și bara de commit jos.
Modificările depozitului și bara de commit: mesajul, ce este selectat și butonul.

Arată diferențele

„Arată diferențele” deschide diff-ul bloc cu bloc, între copia de lucru, index (pregătit) și un commit — înainte și după sunt numite acolo. Un fișier binar o spune, în loc să arate zgomot.

Gesturile

Ramurile și istoricul

Crearea unei ramuri, trecerea pe ea, îmbinarea — intrarea poartă numele ramurii și răspunde nimic de îmbinat: deja la zi sau îmbinare întreruptă: unele fișiere sunt în conflict. „Istoric…” listează commiturile: hash-ul lor scurt, subiectul, autorul, data. Marginea din stânga desenează graficul, fiecare rând pe al lui, iar o îmbinare își trage linia spre coloana vecină. Un dublu clic deschide detaliul unui commit: mesajul lui întreg și fișierele pe care le-a atins.

Istoricul unui depozit: patru commituri, subiectul lor, autorul și graficul ramurilor în margine.
Istoricul, cu graficul său în margine: două ramuri plecate din aceeași rădăcină și îmbinarea care le reunește.

Arborele de merge requesturi

Arborele de merge requesturi…, din meniul butonului GIT, desenează MR-urile deschise ale proiectului GitLab indicat de depozitul la distanță. Fiecare stă sub ramura din care pornește, indentată cu o treaptă, ca un cuprins: etapa spune în ce ordine să le validați, iar un clic pe un card deschide MR-ul în browser.

Arborele de merge requesturi al unui depozit: main, MR-urile sale indentate și un lanț de trei MR-uri pornite unul din altul
!31 a pornit din !28, iar !35 din !31: fiecare stă sub cel ale cărui commituri le poartă, cu „după” și „țintă main”. Butonul din dreapta face checkout pe ramură; bifa marchează main, unde vă aflați.

Schimbul cu depozitul la distanță

„Pull” și „Push”, cu numărul de commituri în joc lângă etichetă — zero nu se scrie. O ramură care nu există încă în față pleacă împreună cu upstream-ul ei. Depozitele la distanță se declară și se elimină din același meniu. Când serverul cere cu ce să vă autentificați, Meneaufile cere la rândul lui, în loc să rămână blocat fără a spune nimic.

Punerea deoparte

„Stash…” strânge munca în curs fără a o comite, cu o descriere facultativă; „Munci puse deoparte” — Muncă pusă deoparte — listează ce așteaptă, iar de acolo se reia sau se aruncă. „Etichete…” pune și scoate etichete în același fel.

Cine a scris acest rând

„Adnotări”, din meniul unui fișier, atribuie fiecare rând commitului și autorului său. Este întrebarea pe care ți-o pui în fața unui rând surprinzător, iar o listă de commituri nu îi răspunde.

Conflictele

Un fișier în conflict se deschide pe versiunile lui: versiunea comună, a noastră, a lor și rezultatul pe care îl construiți. „Ia tot” toarnă o parte întreagă, „Rezolvă” salvează — iar fișierul părăsește categoria în conflict.

Clonare

Dintr-un dosar: adresa (https://… sau git@gazdă:org/depozit.git), numele dosarului de creat și un istoric complet sau superficial — ultimele N commituri.

Bundle-urile

Un fișier .bundle este un depozit Git împachetat într-un singur fișier: de ajuns pentru a duce un proiect pe o cheie USB sau a-l da cuiva, fără server. Un dublu clic spune ce conține — ramurile, etichetele lui — iar Clonează aici… face din el un depozit obișnuit, alături de el, fără rețea. Într-un depozit, Creează un bundle… din meniul GIT îl împachetează în întregime în dosarul din celălalt panou.

Dacă git lipsește

Meneaufile apelează git-ul sistemului. Dacă lipsește sau nu se află în PATH, o spune, în loc să eșueze fără motiv.

Manualul Meneaufile, în română.