Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Git - czy rzeczywiście jest taki super?
Forum PHP.pl > Inne > Hydepark
universalStudio
Witam,
czy ten kontroler wersji jest w ogole wart zachodu? Jeśli chodzi o to, że pliki są zbierane, archiwizowane, commitowane - to wszystko jest jak dla mnie spoko, ale problem pojawia się wtedy gdy zaczyna kilka osob (im wiecej tym wiekszy rozp*ol) pracowac nad jednym plikiem i wtedy pojawiaja sie problemy... Co chwila sa konflikty ktore powodują, ze trzeba edytowac te komentarze - i suma sumarum ta cala magia gita zaczyna przypominac programy dla masochistów (czyli np. niektore dystrybucje linuxa:P).

OK gdy kod jest jeszcze jako tako mały, to można sobie wejść i te komenatrze poprzegladac i poedytowac, ale w przypadku gdy kod jest wielki - no a zazwyczaj jest wielki (w koncu przy nim pracuje kilka osob na raz) to naprawde ciezko sie okielznac z tym wszystkim...

Czy wy tez obserwujecie u siebie takie uciążliwości w pracy z gitem? Czy moze ja cos zle go obsluguje...
kapslokk
Tak, git rzeczywiście jest taki super. Załatw sobie jakieś normalne IDE, to rozwiązywanie konfliktów nie będzie dla Ciebie problemem smile.gif W PHPStormie na przykład są 3 okna, lewe - Twoj kod, prawe kod z gita, a w środku mergujesz.
Pyton_000
Tak, Git jest super. Spróbuj to samo zrobić w SVN, abo bez jakiegokolwiek CVS wink.gif

I żadne IDE nie jest tu wymagane. (Meld jest dobry jako oddzielna aplikacja).

Skoro zadajesz takie pytanie to widocznie nie poznałeś GIT wystarczająco dobrze aby w nim pracować. Musisz się nauczyć workflow, co to są konflikty i JAK je rozwiązywać.
Uwierz mi, GIT to najlepsze co wymyślono (zaraz po Linux wink.gif ) Jak czasami muszę usiąść do projektu który jest w SVN to ręce mi się pocą jak cholera, żeby tylko nic nie spier...
nospor
Cytat
zaczyna kilka osob (im wiecej tym wiekszy rozp*ol) pracowac nad jednym plikiem i wtedy pojawiaja sie problemy... Co chwila sa konflikty ktore powodują, ze trzeba edytowac te komentarze - i suma sumarum ta cala magia gita zaczyna przypominac programy dla masochistów
To jak ty w takim razie bez gita zamierzasz rozwiazywac konflikty gdy pracuje pare osob nad tym samym kodem?
A po drugie macie chyba zle zaprojektowany system prac albo zle zaprojektowana aplikacje, albo i to i to, skoro non stop jeden wlazi z kodem drugiemu
by_ikar
@nospor albo całą aplikacje mają w jednym pliku biggrin.gif

U mnie w firmie git to z wyjątkiem oczywistych rzeczy do których git służy to również deployment i testowanie. Nie wiem jakbyśmy mieli pracować bez gita teraz :|
nospor
Cytat
@nospor albo całą aplikacje mają w jednym pliku
Tez o tym pomyslalem przez moment, ale moze az tak zle nie jest wink.gif
pyro
Cytat(Pyton_000 @ 10.03.2016, 11:06:50 ) *
Uwierz mi, GIT to najlepsze co wymyślono (zaraz po Linux wink.gif )


To zabawne, że autorem obu jest jedna osoba wink.gif

Cytat(Pyton_000 @ 10.03.2016, 11:06:50 ) *
Jak czasami muszę usiąść do projektu który jest w SVN to ręce mi się pocą jak cholera, żeby tylko nic nie spier...


Kiedy musiałem jeszcze ogarniać projekt używający SVN również miałem takie odczucie. Na szczęście jest to już przeszłość. GIT to obecnie najlepsze narzędzie do wersjonowania. Właściwie nawet nie wiem czego mógłbym oczekiwać od alternatyw. W czym niby miały być lepsze?
nospor
Cytat
W czym niby miały być lepsze?
Mysle ze zawsze da sie cos poprawic/ulepszyc. Kiedys tak myslalem wlasnie o SVN - a po cholere mam przesiadac na git, skoro w SVN mi sie zajebiscie pracuje... No ale jednak zostalem zmuszony i sie przesiadlem. Teraz nie moge na SVN nawet patrzec. Jak juz musze cos robic na svn to stosuje git-svn i tak czy siak pracuje w git smile.gif
pyro
Przy SVN zdecydowanie (pracując z nim) dało się odczuć i napisać w podpunktach co jest konkretnie do poprawy.

Co byś ulepszył w GIT-cie?
nospor
Nie wiem. Tak samo jak nie potrzebowalem nic ulepszac w SVN dopoki nie poznalem nowych mozliwosci.
Pyton_000
A jest tam co jeszcze ulepszać ?
pyro
Cytat(nospor @ 10.03.2016, 11:37:10 ) *
Tak samo jak nie potrzebowalem nic ulepszac w SVN dopoki nie poznalem nowych mozliwosci.


Widocznie za mało wtedy pracowałeś z SVN-em tongue.gif LUB!!!! ..... brak wyobraźni ( ͡° ͜ʖ ͡°)
Pyton_000
Albo praca z SVN wyglądała tak:

update
commit
update
commit

biggrin.gif
nospor
true, true and once more true wink.gif

Ok, czasami robile branche i merge tongue.gif
solificati
Cytat(pyro @ 10.03.2016, 11:34:31 ) *
Przy SVN zdecydowanie (pracując z nim) dało się odczuć i napisać w podpunktach co jest konkretnie do poprawy.

Co byś ulepszył w GIT-cie?

Dodał funkcje z darcsa. Leniwe repozytoria, spontaniczne branche, lepsze cherry-picki i kolekcje patchy. No i ogólnie UI darcsa (nie mówiąc o community) jest dużo lepsze.
Ogólnie gita bym poprawił poprzez dodanie szybkości gita do darcsa.
universalStudio
Cytat(nospor @ 10.03.2016, 11:02:30 ) *
To jak ty w takim razie bez gita zamierzasz rozwiazywac konflikty gdy pracuje pare osob nad tym samym kodem?
A po drugie macie chyba zle zaprojektowany system prac albo zle zaprojektowana aplikacje, albo i to i to, skoro non stop jeden wlazi z kodem drugiemu
Może być git, ale wlasnie zorganizowany w ten spoosb aby bylo bardziej wszystko rozparcelowane... Niestety czasem kilka osob dobiera sie do jednego tego samego pliku. Domyslam sie, ze to moze byc element zlej organizacji pracy... jednak ludziom sie wydaje, ze skoro jest git to mozna wszedzie swoje 5 groszy dorzucic. Faktem jest, ze ja dopiero poczatkuje w gicie, wczesniej bylem samowystarczalnym freelancerem wiec nie byl mi potrzebny. Generalnie jestem za tym aby w ciagu pracy stosowac w miare mozliwosci includy itp. zabiegi, na koniec pracy mozna to zoptymalizowac, zminifikowac itd.
darko
Podejrzewam, że problem leży w tym, że wspomniany tutaj zespół pracuje na jednym branchu jednocześnie. Generalnie znacznym ułatwieniem pracy z gitem jest podejście, że każde zadanie, nawet najmniejsze jest robione na osobnym branchu. W sytuacji kiedy kilka osób pracuje jednocześnie na jednym pliku, nie ma wtedy problemu. Każdy po zakończeniu prac wypycha zmiany do swojego brancha, przełącza się na wspólny branch - najczęściej release lub develop, zależy od workflow - robi git pull i dopiero domergeowuje swoje zmiany ze swojego brancha. Tu jest to dokładnie rozpisane:
https://confluence.atlassian.com/bitbucket/...-223217999.html
A tutaj kolejne ulepszenie pracy, polecam zastosowanie git flow:
http://danielkummer.github.io/git-flow-cheatsheet/

Pozdrawiam
destroyerr
Cytat
w miare mozliwosci includy itp. zabiegi, na koniec pracy mozna to zoptymalizowac, zminifikowac itd.

To ciekawie tam macie.
universalStudio
Cytat(destroyerr @ 10.03.2016, 16:01:58 ) *
To ciekawie tam macie.
co masz do rozparcelowywania? Takie podejści bardzo ułatwia robotę, nie trzeba się kompletnie przejmować mergami, dodatkowo ma sie 100% pewność co kto robił. Oczywiście w gicie np. po commitach można wyczaić kto coś namieszał, ale komu się chce to anlizować? U nas sa osoby co raczej sprawnie posluguja sie gitem wiec nie moge generalizowac, ale bierz pod uwag, ze ja w tym poczatkuje, to jest moje subiektywne odczucie, byc moze jak lepiej poznam ten kontroler to zmienie zdanie.
destroyerr
Cytat
co masz do rozparcelowywania?

Masz na myśli dzielenie plików na mniejsze? Bo nie rozumiem tego słowa w tym kontekście. Ta minifikacja w php to już w ogóle kosmos. Kawałek, który zacytowałem jest moim zdaniem przyczyną waszych problemów. Nie wiem jak dokładnie to wygląda, ale macie chyba zły przepływ i podział obowiązków, pracujecie na git'cie jak na svn albo ftp.
darko
Cytat(universalStudio @ 10.03.2016, 17:00:01 ) *
nie trzeba się kompletnie przejmować mergami, dodatkowo ma sie 100% pewność co kto robił. Oczywiście w gicie np. po commitach można wyczaić kto coś namieszał, ale komu się chce to anlizować

Na przykład komuś, kto robi code review w projekcie. Samo nazywanie gita, jak to egzotycznie ująłeś - "kontrolerem" - świadczy o braku wiedzy. Poza tym co to za podejście, że komu się zechce analizować? Jak sobie wyobrażasz pracę zespołową, w sytuacji kiedy auto merge zawodzi (zdarza się). Kto musi przejrzeć zmiany wędrujące do gałęzi stabilnej, niezależnie czy ma na to ochotę i czy mu się chce. Nie rozumiem tu pewnych sformułowań.
com
problem w tym, że z tego by winikało iż ktoś tu nie robi code review biggrin.gif
peter13135
Cytat(nospor @ 10.03.2016, 11:02:30 ) *
To jak ty w takim razie bez gita zamierzasz rozwiazywac konflikty gdy pracuje pare osob nad tym samym kodem?
A po drugie macie chyba zle zaprojektowany system prac albo zle zaprojektowana aplikacje, albo i to i to, skoro non stop jeden wlazi z kodem drugiemu

Pewnie cały program to jedna klasa wink.gif
universalStudio
Cytat(peter13135 @ 10.03.2016, 22:53:54 ) *
Pewnie cały program to jedna klasa wink.gif

Nie, u nas problem polega na tym, ze do jednego pliku lubi sie dobrac wiele osob i pozniej trzeba nadmiernie mergowac. Tak to chyba nazwya sie zla organizacja pracy...
Dejmien_85
Git to najlepszy system kontroli wersji z jakim do tej pory pracowałem. Naucz się go obsługiwać, a będziesz go wielbić. ; )
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.