Wasze doświadczenia z Gitem prywatnie i zawodowo

Czy korzystasz z Gita?
Tak - w domu i w pracy
88%
88% [67]
Tak - tylko w pracy
4%
4% [3]
Tak - tylko w domu
7%
7% [5]
Nie
1%
1% [1]
Odpowiedz Nowy wątek
2020-03-09 11:44

Rejestracja: 8 lat temu

Ostatnio: 54 sekundy temu

2

Cześć,
Planuję przygotować materiał na temat korzystania z Gita zarówno w pracy jak również w projektach prywatnych, robionych po godzinach - wady, zalety, różne podejścia. Ale żeby nie opierać go tylko na swoich doświadczeniach i przypuszczeniach to mam małą ankietę :) Jak to też zwykle w życiu bywa - teoria teorią, ale doświadczenia z frontu mogą być zgoła inne.
Poza odpowiedzią na pytanie czy używacie Gita będę bardzo wdzięczny za podzielenie się wrażeniami w tym temacie. Przykładowe pytania:

  • Czy uważasz, że Git usprawnił Twoją/Waszą pracę?
  • Jakie widzisz główne zalety korzystania z Gita?
  • Czy wg Ciebie Git ma sens kiedy pracuje się samodzielnie?
  • Czy miałeś/miałaś moment (przykład dodatkowo punktowany ;) ) kiedy żałowałeś/żałowałaś, że nie było Gita bo można by uniknąć problemu?
  • Jakie widzisz wady tego narzędzia (bo każde narzędzie ma wady, więc uważam, że warto je znać)
  • Jeśli nie korzystasz z Gita prywatnie to dlaczego?
  • Jeśli nie korzystacie z Gita w pracy to dlaczego?
  • Jaki styl pracy z Gitem wykorzystujesz? Git-flow? Coś innego? Wystarczy link jak to coś co już zostało opisane
  • Jeśli masz porównanie z innymi systemami kontroli wersji (SVN, TFS, Mercurial...) to który uważasz za lepszy? Dlaczego?

Żeby zacząć:
Używam Gita prywatnie i w pracy. W domu zacząłem go używać później, najpierw poznałem to narzędzie w projekcie, do którego dołączyłem. W prywatnych projektach największą zaletą jest to, że wprowadzając szalone zmiany i refactoring nie ma problemu, że poszedłem za daleko i teraz coś co działało przestało działać i nie ma jak tego odkręcić. To daje mi dużo większą pewność w testowaniu jakichś nowości, których się uczę.

W pracy dużą zaletą jest fakt, że dzięki branchom nie wchodzimy sobie w drogę i można w miarę niezależnie pracować nad swoim fragmentem. Do tego robienie code review jest proste, przez to, że dostaję diff zmian. Poza tym nieraz przydawała się historia zmian aby prześledzić co działo się wcześniej z jakimś modułem. I tak jak w projektach prywatnych tak i zawodowo - w razie zbyt szalonych innowacji w kodzie zawsze można ze spuszczoną głową wrócić do tego co działało (i najwyżej zachować eksperymenty w jakimś lokalnym branchu, na lepsze czasy).

Miałem też epizody z TFSem i SVNem i oba te narzędzia powodują, że człowiek jak najmniej chce robić commity i odkłada się moment podzielenia się zmianami do samego końca. Do tego Git ma tą przewagę, że nawet jak zerwie neta albo serwer nie działa to nadal możemy bez problemu pracować - w TFSie zwykle to oznaczało przerwę w pracy bo Visual Studio regularnie przypominał, że jest coś nie tak.

Pracowałem zarówno z robieniem rebase i pushowaniem do mastera tylko zmian typu fast-forward, ale też eksperymentowaliśmy z git-flow, które wg mnie ma zbyt duży narzut i zbyt wiele elementów, o których trzeba pamiętać.

Z wad to zauważyłem, że bardzo łatwo doprowadzić do bardzo dziwnej historii zmian, którą trudno przeglądać. Wymaga to ciągłego dbania o trzymanie standardu, który wypracowaliśmy. A o ile w przypadku kodu możemy chociażby jakąś statyczną analizą zapewnić minimum standardu tak w Gicie jakiś jeden pożar albo sytuacja, której nie przewidzieliśmy albo nie zauważyliśmy i historia się może posypać na jakiś czas i nagle mamy rozjazd w stylu pracy. Więc przy mniej doświadczonym zespole można szybko dojść do poplątania z pomieszaniem.

PS: Jak materiał (na 99% video) będzie gotowy to podrzucę tutaj :)


Wszystkie miejsca, w których mnie znajdziesz w internecie: https://codewin.pl
Ekologiczne podejście do aplikacji? Dołącz do mojej przyszłorocznej inicjatywy: https://ekoapps.pl
W sensie, będzie kurs Gita? :) - Charles_Ray 2020-03-09 12:16
Nie, nie mam zamiaru w to iść :) Bardziej takie 2-3 wideo zachęcające do spróbowania jak ktoś ma obiekcje albo dopiero zaczyna i nie wie dlaczego by mu to było potrzebne. Zwykłe pokazanie, że jest taka opcja do wyboru i ktoś jej używa :) - mar-ek1 2020-03-09 12:20
Ok, brzmi super - Charles_Ray 2020-03-09 13:45

Pozostało 580 znaków

2020-03-10 13:47

Rejestracja: 7 miesięcy temu

Ostatnio: 9 godzin temu

1
  • Czy uważasz, że Git usprawnił Twoją/Waszą pracę?

Git był zarazem pierwszym systemem kontroli wersji, którego używałem, więc moja odpowiedź może być bardziej o kontroli wersji, niż samym gicie - ale tak, zdecydowanie usprawnił moją pracę. Obecnie ciężko mi wyobrazić sobie pracę bez niego, stosuję go niemal wszędzie - nie tylko do kodu, ale także do notatek czy inszej maści tekstu.

  • Jakie widzisz główne zalety korzystania z Gita?
  1. Gałęzie - mogę bez problemu pracować sobie nad kilkoma rzeczami "jednocześnie". Pogrzebię coś w jednym temacie, git checkout, mogę robić coś innego w ramach projektu i w żaden sposób się to ze sobą nie gryzie.
  2. Historia - zarówno w sensie po prostu czytania commit messages w ramach git log, jak i w sensie wyciągania rzeczy z historii - np. czasami jest potrzeba przywrócić jakiś usunięty fragment kodu, albo po prostu spojrzeć, jak coś wyglądało jakiś-tam czas temu.
  3. Śledzenie zmian - jeżeli się zagubię w tym, co robię, to git status w tandemie z git diff od razu mi wszystko powiedzą.
  4. Powiązane z poprzednim punktem - jak coś kosmicznie skaszanię, to git reset --hard i kod jest w znanym, sensownym stanie.
  5. Rebase, chery-pick - możliwość pół-automatycznego edytowania historii czy przenoszenia kodu między gałęziami.
  6. O ile ogarnięte są inne tematy typu "każdy ma środowisko developerskie" oraz polityka gałęzi, to używanie gita w zespole znacznie ułatwia pracę i nie wchodzenie sobie nawzajem w drogę.
  • Czy wg Ciebie Git ma sens kiedy pracuje się samodzielnie?

Zdecydowanie, patrz cztery pierwsze punkty w odpowiedzi powyżej.

  • Czy miałeś/miałaś moment (przykład dodatkowo punktowany ;) ) kiedy żałowałeś/żałowałaś, że nie było Gita bo można by uniknąć problemu?
  1. Dawno temu, gdy jeszcze nie stosowałem kontroli wersji w ogóle i zgubiłem kod do projektu (tzn. zgubiłem najnowszą wersję, miałem jakieś backupy).
  2. Parę razy gdy miałem nowy i stary kod, ale bez historii commitów i potrzebowałem wyizolować jakieś zmiany.
  • Jakie widzisz wady tego narzędzia (bo każde narzędzie ma wady, więc uważam, że warto je znać)
  1. Git nie jest szczególnie intuicyjny na start i poznanie go w dobrym stopniu zajmuje trochę czasu.
  2. Interfejs CLI jest trochę niespójny.
  • Jaki styl pracy z Gitem wykorzystujesz? Git-flow? Coś innego? Wystarczy link jak to coś co już zostało opisane

Pracowałem w git-flow, sam raczej wolę trunk-based development.

Pozostało 580 znaków

2020-03-10 22:28

Rejestracja: 4 lata temu

Ostatnio: 6 godzin temu

0

_

Czy uważasz, że Git usprawnił Twoją/Waszą pracę?

Tak, ale nie tak bardzo jak Github.

Jakie widzisz główne zalety korzystania z Gita?

Github. Tooling.

Czy wg Ciebie Git ma sens kiedy pracuje się samodzielnie?

Tak.

Czy miałeś/miałaś moment (przykład dodatkowo punktowany ;) ) kiedy żałowałeś/żałowałaś, że nie było Gita bo można by uniknąć problemu?

Nie kojarzę.

Jakie widzisz wady tego narzędzia (bo każde narzędzie ma wady, więc uważam, że warto je znać)

Według mnie niektóre operacje niepotrzebnie wymagają robienia jakichś "workaroundów" czy naklepania się 5 komend. coś w ten deseń.

Jeśli nie korzystasz z Gita prywatnie to dlaczego?

Zbyt krótki kod

Jeśli masz porównanie z innymi systemami kontroli wersji (SVN, TFS, Mercurial...) to który uważasz za lepszy? Dlaczego?

Git ma lepszy tooling niż TFS oraz wydaje się być znacznie szybszy (@neves napisał że wręcz przeciwnie :D ciekawie, ale chyba wiem z czego może to wynikać :P)

edytowany 2x, ostatnio: WeiXiao, 2020-03-10 22:36
z czego :P? - neves 2020-03-11 03:48
@neves: TFS ma bardziej konfigurowalne security i te wszystkie takie adminowskie rzeczy, a git jest bardziej dla devów. - WeiXiao 2020-03-11 19:10

Pozostało 580 znaków

2020-03-17 17:51

Rejestracja: 8 lat temu

Ostatnio: 54 sekundy temu

2

Jeszcze raz dzięki wszystkim za odpowiedzi :) właśnie kończę montaż video więc na pewno się tutaj albo na mikroblogu niedługo pojawi.
Tylko wymyśliłem sobie, że fajnie będzie tam jakieś miłe grafiki dodać więc jeszcze będę u koleżanki zamawiał takowe co trochę wydłuży proces :D


Wszystkie miejsca, w których mnie znajdziesz w internecie: https://codewin.pl
Ekologiczne podejście do aplikacji? Dołącz do mojej przyszłorocznej inicjatywy: https://ekoapps.pl

Pozostało 580 znaków

2020-03-28 17:01

Rejestracja: 8 lat temu

Ostatnio: 54 sekundy temu

2

Materiał się pojawił i napisałem o nim na mikroblogu :)

Nie byłem pewien czy edycja posta poinformowała by osoby śledzące wątek, dlatego dodaję post pod postem.


Wszystkie miejsca, w których mnie znajdziesz w internecie: https://codewin.pl
Ekologiczne podejście do aplikacji? Dołącz do mojej przyszłorocznej inicjatywy: https://ekoapps.pl
Nie poinformowałaby. W sumie nie pamiętam nawet, dlaczego nie może to być zaimplementowane. @Adam Boduch? - Silv 2020-03-28 19:05

Pozostało 580 znaków

2020-03-28 17:09

Rejestracja: 2 lata temu

Ostatnio: 55 minut temu

2

Piszę teraz książkę i używam do tego kontroli wersji. Git okazał się strzałem w 10.

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0