10 éves a Git

Címkék

10 éves a Git

10 éve annak, hogy Linus a BitKeeper-balhé nyomán nekiállt egy saját verziókövető rendszert létrehozni. A kezdeti kódok elérhetőségét 2005. áprilisának elején jelentette be. A 0.2-es verzióhoz - ami "GIT - the stupid content tracker" néven látott napvilágot - már README is társult.

Az évforduló alkalmából a The Linux Foundation egy interjút közölt Linusszal. Az Atlassian pedig egy interaktív infógrafikát tett elérhetővé, amellyel felidézhetjük az elmúlt 10 év fontosabb állomásait.

Hozzászólások

Már 10 év? Bakker, öregszem... Szerk: boldoGITó szülinapot!

--
A főnököm mindig megtartja amit ígér, ha pénzt ígér azt is!

Nagyon szép az infografika.
A sok Atlassian reklámot elnézve benne reméltem, hogy a 'what's next' részre kattintva jön a bejelentés, hogy készül a SourceTree linuxon futó változata.
Sajnos nem :(

A környezetemben nem fejlesztő beállítottságú emberekre hárul néha a git használata. Főleg a cherry-pick/merge esetén jönne jól. Magabiztosabbak, ha látják grafikus felületen, hogy mit is csináltak/nak egy egy commit és push előtt. Jelenleg többen windows-os felületen oldják meg a szükséges feladatokat egy-egy branch-ben, aztán csak a pull marad Linux alatt.

Mindenféle hülye ok miatt csak általános szövegszerkesztőt tudok fejlesztéshez használni, mint pl. Geany. Ebből kifolyólag ha git GUI kell nekem, akkor nem hagyatkozhatok az IDE-re. Itt jön be a git gui és a gitk.

De vegyük végig, hogy mi kell nekem: "git fetch --all" egy "git pull", ami megkérdezi, hogy melyik remote-ból és melyik branchet, konfliktus esetén dobja fel a KDiff3-at, egy szép history, ami működik repóra, fájlra, blame, commit, push, reset fájlra vagy repóra.

Ebből a git gui kb. a commit, push oldalát jól teljesíti. Fetch is van, mert az eszközök menübe beraktam. Pull és merge van alapból, mondjuk a merge minőségét még nem ellenőriztem (értsd feloldatlan konfliktus esetén KDiff3 felajánlása). A git gui pedig el tudja indítani a gitk-t. Az, hogy a gitk ocsmány ronda, még elmegy. De abban sem ártanának az alapműveletek, mint pl. fetch --all, pull onnan, amire ráböktem, stb.

Választhatok persze alternatív GUI-kat, mint pl. a git-cola, ami szép meg jó, de inkább beszállhattak volna a git gui fejlesztésébe. Vagy a Giggle, ami nagyon szép history-t rajzol, de ezt leszámítva elbújhat a gitk mögött.

Most jól leszóltam sok lelkes fejlesztő munkáját. De ha történetesen Windows-t is használsz, akkor ott van a Git Extensions, ami szintén kiválóan integrálható pl. Geany-ba. Azzal az árnyalatnyi különbséggel, hogy nagyságrendekkel jobban használható a git gui - gitk párosnál.

Disclaimer: Lehet, hogy az általam leszólt toolok sokkal jobbak manapság, de rá vagyok kényszerítve RHEL 7 használatára. Egyébként hallottam, hogy az RHEL-t egyszer egy szoftverfejlesztő is használni akarta. Azóta van a Fedorának EPEL repója, ahol olyan extrák is megtalálhatóak, mint a Geany, KDiff3... Csoda, hogy kernel van az RHEL-ben.

> kell nekem: "git fetch --all" egy "git pull", ami megkérdezi, hogy melyik remote-ból és melyik branchet, konfliktus esetén dobja fel a KDiff3-at
Off: Nyilván workflow függő, de nem érdemesebb inkább

git pull --rebase

?

Amúgy sokmindent megoldana, ha valami normális editort használnál :-) fugitive vim-hez nagyon király pl., de gyanítom emacshoz is van, az IDE-k userei pedig kattintós szarok nélkül biztos rinyáltak már eleget, hogy azokhoz is legyen. Ami miatt én használom a git guit, az a chunk/sor alapú commitok kiegerészése. Mert ugye gitben commitban gondolkodunk, nem fájlban.

Az emacs-os magit a legjobb git frontend amivel eddig találkoztam. A vim-es dolgok kivételével szinte mindent végigpróbáltam.
A teljes workflow-t lefedi. Stash, amend, rebase, diff/merge, stb. Egy fejlesztőnek ha nem Java-val dolgozik, nem sok oka van elhagyni az emacs-ot. Csak ez ne lenne

"Amúgy sokmindent megoldana, ha valami normális editort használnál"

Ez teljesen igaz. De úgy kell belőnöm a környezetet, hogy Winről jött nyafkák is otthon érezzék magukat. Ezen a Wine nem tud segíteni és nem is lenne jó megoldás. És persze a vim vagy emacs sem.

Viszont legnagyobb meglepetésemre a GitExtensionsnek van Mono változata, ami remekül elfut Linuxon.
http://sourceforge.net/projects/gitextensions/