Git
Zásuvný modul Git ukazuje stav repozitára Git priamo v paneli súborov — bez samostatnej aplikácie a bez
terminálu. Pridáva dva stĺpce, podponuku Git, ukotvený panel na prípravu a zápis zmien a okná pre
históriu, blame, vetvy, konflikty a preskladanie. Používa git, ktorý je na vašom Macu už nainštalovaný. Je
to zásuvný modul, takže ho môžete vypnúť alebo odstrániť v Konfigurácia ▸ Zásuvné moduly….
Čo pridáva¶
- Dva stĺpce zoznamu súborov — Stav Gitu a Vetva. Každý súbor ukazuje ikonu a krátke slovo stavu (Zmenené, Pridané, Zmazané, Nesledované, Premenované, Skopírované, Konflikt, Ignorované, Zmenený typ), s (pripravené), keď je zmena už v indexe; stĺpec Vetva ukazuje vetvu, na ktorej stojí repozitár daného súboru. Stĺpce zapnete v Konfigurácia ▸ Stĺpce… (pozri Režimy zobrazenia a triedenie).
- Ponuka Git — v Príkazy ▸ Git a v kontextovej ponuke súboru.
(Obrázok: Stav Gitu uvádza vetvu a každú zmenu v pracovnom strome.)
Panel: pripraviť, zapísať, synchronizovať¶
Príkazy ▸ Git ▸ Panel ukotví pohľad, ktorý delí pracovný strom na pripravené, zmenené a nesledované. Vyberte súbory a použite Pripraviť, Zrušiť prípravu alebo Zahodiť…, napíšte správu a stlačte Zapísať — s Opraviť sa zmena vloží do predošlého zápisu. Stiahnuť a Odoslať ležia vedľa, tam, kde sa aj tak zapisuje; obe ukazujú postup a dajú sa prerušiť.
Zapisuje sa index, nie git commit -a: zapíše sa to, čo ste pripravili.
História, blame a web¶
- História… vypisuje zápisy s pruhovým grafom, odkazy, ktoré na ne mieria (
● main,↗ origin/main,⚑ v1.0), a súbory, ktorých sa každý zápis dotkol. Return alebo dvojklik otvorí verziu toho súboru proti jeho predchodcovi v okne porovnania. Vrátiť zápis a Cherry-pick sú tam tiež a oba vopred odmietnu, ak pracovný strom nie je čistý. - História súboru… je to isté okno pre jeden súbor.
- Blame (zoznam)… ukazuje každý riadok s jeho zápisom, autorom a dátumom. Blame v editore píše tú istú informáciu na okraj editora, vedľa čísel riadkov: ukázanie na riadok zobrazí správu zápisu, kliknutie ho otvorí proti jeho predchodcovi.
- Otvoriť na webe otvorí súbor, zápis alebo vetvu na GitHube, GitLabe, Bitbuckete či Azure DevOps, zostavené z URL vzdialeného repozitára — bez účtu, bez tokenu. Pri serveri, ktorého podobu odkazov nepozná, ponúkne stránku repozitára, namiesto toho aby hádal.
Vetvy, odložené zmeny a značky¶
Vetvy, odložené zmeny a značky… vypisuje všetky tri. Prepnúť, založiť, zlúčiť alebo zmazať vetvu; odoslať, vybrať alebo zahodiť odložené zmeny; založiť, zmazať či odoslať značku alebo na ňu prepnúť — značka nie je vetva, a tak sa vopred povie, že HEAD skončí odpojený. Načítanie, Stiahnuť a Odoslať sú v tom istom okne a dá sa ich prerušiť počas behu.
Odoslať značku je zámerne samostatná akcia: git push značky so sebou neberie.
Konflikty¶
Vyriešiť konflikt… vypisuje konfliktné oblasti súboru pod kurzorom a pre každú prijme rozhodnutie: naše,
ich, oboje — alebo ju nechať otvorenú. Potom Zapísať súbor alebo Zapísať a pripraviť. Odmieta
pripraviť, kým je niektorá oblasť otvorená — Git značky <<<<<<< zapíše bez mihnutia oka — a radšej sa
nedotkne súboru, ktorého značky nevie prečítať, než aby ich hádal. Pre oblasť, ktorú treba prepliesť ručne z
oboch strán, je Otvoriť v editore jedno tlačidlo ďaleko.
Preskladanie¶
Preskladať… vypisuje zápisy pred prúdom — tie, ktoré nikto iný ešte nemá — a nechá vás ich zlúčiť, pripojiť ako opravu, zahodiť, preskladať alebo prepísať ich správu, než sa vetva prepíše. Ak sa preskladanie zastaví na konflikte, z toho istého okna sa stane Pokračovať / Preskočiť zápis / Prerušiť preskladanie, aby sa rozrobené preskladanie nemuselo dokončovať v termináli.
Ignorovanie súborov a prihlasovacie údaje¶
- Ignorovať tento súbor…, Ignorovať tento typ súboru… a Ignorovať tento priečinok… zapíšu správny
vzor do
.gitignore— ukotvený tam, kam patrí, aby ignorovanie tohto priečinkabuildneignorovalo každý priečinok s názvombuild. - Prihlasovacie údaje… hlásia, ako sa tento repozitár overuje: SSH, alebo HTTPS, či je nastavený pomocník pre prihlasovacie údaje, či beží agent SSH a drží kľúč. Kde to pomôže, ponúknu presne jednu akciu — nechať Git uchovávať údaje v zväzku kľúčov macOS. Zásuvný modul sa nikdy nepýta na heslo kľúča, nezobrazuje ho ani neukladá.
Poznámky¶
- Zásuvný modul používa systémový Git v
/usr/bin/git. Ak Git chýba, príkazy oznámia, že Git nie je k dispozícii. (Prinášajú ho Xcode Command Line Tools.) - Stav repozitára sa číta raz na priečinok a ukladá do vyrovnávacej pamäte, aby prechádzanie veľkého repozitára zostalo rýchle; pamäť sa obnoví po každom príkaze, ktorý zmení strom, a sleduje aj zápis urobený mimo aplikácie.
- Pripojené pracovné stromy a podmoduly sú podporované: súbor vnútri podmodulu ukazuje stav a vetvu podmodulu, nie nadradeného repozitára.
- Každý zoznam má kontextovú ponuku, Return spustí jeho hlavnú akciu a Cmd+R okno znova načíta.