Diskuze: Kdy se naučit v gitu?

Člen

Zobrazeno 15 zpráv z 15.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
IMHO je odpověď někde v půlce.
Git je nepostradatelný především pokud pracuješ v týmu, tam to potom ani
nijak jinak pořádně dělat nejde.
Ale pro jednotlivce je to hodně užitečné především na to, aby sis mohl
dělat "checkpointy"=commity když ti kód funguje a pokud něco
spektakulárně zkazíš, např. rozbiješ konfigurační soubor, nepovedený
refactoring a pod. prostě se k tomu snadno vrátíš.
K tomu ale není třeba přečíst 267 stránek, v podstatě potřebuješ pochopit
Zbytek je IMHO celkem k ničemu v každodenním životě a prostě to můžeš vygooglit.
Také vřele doporučuji použít konzoli jen k základním úkonům, většina IDE má poměrně přívětivé rozhraní.
Tak alespoň třetinu věcí už umím.
Ještě pořádně nevím reálné využití - zda by mi to třeba aspoň
usnadnilo práci při záloze - jsem opatrný. Mám verze po jednotlivých dnech
v PC, to samé se uploaduje automaticky na cloud a finální aktuální verzi
posílám tedy na webhosting.
Což mě teď napadá... že v Gitu by zobrazení verzí mohlo asi probíhat
lépe a třeba se tam dá pořádně využít toho "diff"u.
To já je zas přečtu. Tak nějak jsem se teď při učení zařekl dělat věci pořádně.
Shrnu tedy celý dotaz do jedné jediné otázky:
Když zvažuji někdy v budoucnu možnost práce v týmu,
programátorské zaměstnání nebo jen nějaké brigádky - Git by mě
nejspíš stejně neminul a bude lepší ho umět?
Pokud budeš pracovat v týmu (nebo prakticky vždy, kdy neděláš na sebe),
musíš git umět a nejede přes to vlak.
Zálohy jsou nepohodlné a zabírají moc místa, git si ukládá jen diff. A
hlavně můžeš pohodlně udělat několik commitů za den, které jsou hned
hotové a nehrozí nic.
Projekty, na kterých teď dělám mají 1.5 GB jako zdrojáky. To opravdu
nechceš kopírovat pokaždé celé. Ale git hlavně není záloha, je to
nástroj pro definování bodů v čase, kdy kód fungoval. Když třeba
zjistíš, že ti něco přestalo fungovat, ale nevíš kdy, prostě si
otevřeš verzi starou několik týdnů a podíváš se, co se změnilo. To bys
se zálohami složek nikdy neudělal, protože by sis maximálně mohl otevřít
dvě různé verze souborů.
První větu beru.
Je to jak nějaká paranoia - co se učím programovat, někde v pozadí se
pořád ozývá "Git! Git!".
Tak já to tedy naštuduji. Abych vůbec věděl co a jak a proč.
Teoreticky už to trošičku chápu, musím sám prakticky otestovat.
Tak či tak... Děkuji!
Pokud nepotřebuješ nějakou profesionální znalost, tak podle mě pro běžného programátora bohatě stačí software jako Sourcetree, který používám, kde máš čudlíky Pull,Push, atd.
A je to naprosto user. friendly a ve finále pokud nechceš ani nemusíš
vědět jak to pořádně na pozadí funguje a klikáš jen na pár tlačítek
Pak se tě někdo zeptá na pohovoru jestli umíš s gitem ty řekneš ano.
Zeptá se a co dělá push a pull a ty jsi v háji
Řeknu, že jsem trošku pracoval se Sourcetree, neřeknu že umím git. No
tak to prostě vědět nebudeš no, to je snad nějaká podmínka vědět na
pohovoru vše?
Je nás v kanceláři 12 a detailně s Gitem tu umí 2 - 3 lidi pro všechny ostatní je to v Sourcetree akorát denní rutina kliknutí na Pull, Push a vyjímečně Branch a Merge, všechny hlubší znalosti jak to interně funguje prostě nejsou v praxi potřeba.
Ano neříkám, že není dobré, když to člověk umí, samozřejmě je dobré když člověk zná detailně git nebo částicovou fyziku, ale prostě když to nepotřebuje a nepoužívá tak ty znalosti stejně vymizí.
Není to povinnost, ale když ani přibližně nevíš jak střeva fungujou
tak je to taky blbé a mačkat tlačítka umí každý. Tím nechci nijak
urážet nebo tak, ale na pohovoru musíš zaměstnavatele trošku zaujmout, ono
říct ano, umím trochu se SourceTree ale umím jen mačkat Push nebo Pull.
Tím chci říct, že když něco používáš, měl by jsi umět alespoň
základy.
Je dobré vědět, co ta tlačítka dělají, ale cli je v realitě pro
rutinní operace příliš nepohodlné. Mě se třeba hodně líbí, jak to
mají udělaná Jetbrains IDE - vlastně na těch tlačítkách jsou ty
příkazy, dokonce ti to i říká, co to vlastně provádí za příkaz, ale
má to příjemnou GUI obálku - a třeba merge je prakticky dokonalý a
neuvěřitelně intuitivní.
Občas je třeba ale udělat něco v cli - třeba promazat cache, když se
commitne něco, co má být ignorováno, tak tomu se člověk nevyhne, ale to
zase neděláš každý den.
Erik Šťastný
Mimochodem, náš přednášející na bezpečnost se zmiňoval o tom, že
SourceTree je děravé jako cedník
Díky za menší diskuzi.
Za a) když už jsem se rozhodl to naučit, tak to chci umět nějak líp - jen
tak se nespokojit.
Za b) ještě spíš se naučím samotný Git, zůstane-li jako žolík v
rukávu pro případný budoucí pohovor.
A když už to pak tak nějak budu umět - neříkám, že nezkusím nějakej
jednodušší způsob...
Chtěl bych se zeptat na dvě věci ohledně zdejšího git kurzu:
a) Naučí mě to všechny věci, které zmiňoval
Petr Čech, tzn.
co je repozitář, vazba mezi lokálním a vzdáleným
commit, push, pull
větve, merge, řešení konfliktů
stash, stage
gitignore
?
b) Jsou aktuální?
Jen bych chtěl připomenout svůj dotaz nahoře ^ ^ ^
Všechny věci tě zdejší kurz naučí a jsou stále aktuální. Git se moc nemění.
Zobrazeno 15 zpráv z 15.