Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne]Praca grupowa w gitlab
nyfko
post 26.06.2015, 03:43:56
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 29.07.2014

Ostrzeżenie: (0%)
-----


Z repozytoriami miałem do czynienia tylko na linuxie gdy coś instalowałem, a nazwę "git" kojarzę tylko z githuba na którym często znajdowałem jakieś potrzebne mi projekty i pobierałem w zipie.
Mam taki problem, że pracuję sobie nad jednym skryptem składającym się z ok 15 plików jak na razie. Tak jak zawsze trzymałem go po prostu na swoim serwerze, i zmiany uploadowałem przez FTP.

Chcę jednak by mój kolega z klasy również mógł nad tym jednocześnie pracować. Sądziłem, że duże projekty muszą być jakoś lepiej zorganizowane niż edycja przez wspólne FTP, bo w przypadku np. 20 osobowej grupy zapanował by chaos. Zacząłem więc szukać i czytać jak się takie grupowe projekty rozwiązuje, i od razu wpadłem na "git", a dokładnie gitlab od którego chciałbym zacząć.

Czytałem kilka tutoriali, oglądałem wstępy z youtube itp, ale nadal nie mogę znaleźć odpowiedzi na takie najbardziej podstawowe pytania.

1. Czy to w jakiś sposób pomaga w jednoczesnej pracy nad tym samym plikiem? To było moim głównym powodem by szukać czegoś do pracy w grupach, bo bałem się, że np. jak ja będę edytował jakiś plik .php i go wyślę na FTP, to się okaże że nadpiszę plik który zmodyfikował kumpel 5 minut wcześniej. W jaki sposób gitlab tutaj pomaga, w jaki sposób odbywa się edycja tego samego pliku? Czy tak samo trzeba się informować w tradycyjny sposób "hej edytuję właśnie plik xxx.php, nie zmieniaj niczego przez godzine" ? Bo wiadomo, że jak już mam otwarty plik .php w edytorze, to nie będę miał wpływu na inne zmiany które ktoś może w tym samym czasie chcieć wprowadzic w tym samym pliku.
2. Skoro cały projekt jest na zwykłym hostingu, a zmiany wprowadzamy przez FTP to w jaki sposób ma tutaj być wszczepiony gitlab? Mam jednocześnie zmieniony plik wysyłać na FTP i na git by obydwa były aktualne? Z tego co rozumiem git właśnie służy po to by móc automatycznie pobrać wszystkie nowe wersje plików, ale w jaki sposób mam to zrobić na hostingu gdzie nie mam dostępu do jego systemu, konsoli ?

Jeżeli to ma jakieś znaczenie to siedzę na windowsie. Zmiany w plikach po prostu robię otwierając go w notepadzie przez filezille.


Wiem że te pytania będą dla większości strasznie banalne, ale to właśnie początki są najtrudniejsze...

Z góry dzięki za pomoc

Ten post edytował nyfko 26.06.2015, 03:47:27
Go to the top of the page
+Quote Post
Tuminure
post 26.06.2015, 06:50:58
Post #2





Grupa: Zarejestrowani
Postów: 178
Pomógł: 49
Dołączył: 16.04.2012
Skąd: Bytom

Ostrzeżenie: (0%)
-----


Cała odpowiedź dotyczy gita ogólnie. Tj. nie tylko gitlaba ale też githuba, bitbucketa, własnych "niezależnych" repozytoriów itd.

Cytat
2. Skoro cały projekt jest na zwykłym hostingu, a zmiany wprowadzamy przez FTP to w jaki sposób ma tutaj być wszczepiony gitlab?

Nie ma być*. Każdy z Was powinien mieć projekt rozstawiony lokalnie (słowa klucze: xampp, wamp, vagrant, apache) lub na oddzielnym hostingu (tj. w oddzielnych miejscach), tak by mógł oglądać tylko swoje zmiany.

*możecie podpiąć gita do jakiegoś hostingu, który np. będzie się aktualizował po każdej aktualizacji w wybranej gałęzi - odpuściłbym to sobie na początek.

Cytat
W jaki sposób gitlab tutaj pomaga, w jaki sposób odbywa się edycja tego samego pliku?

Każdy z Was ma projekt ściągnięty z repozytorium gita. Edytujesz plik tak jak do tej pory i próbujesz wgrać zmiany na gita. Jeżeli ktoś pracował na tych samych plikach co Ty, dostaniesz informację o pobraniu zmian*. Git automatycznie spróbuje rozwiązać konflikty wynikające z edycji tego samego pliku. Jeżeli się to nie powiedzie, będziesz musiał poprawić je ręcznie (IDE takie jak Netbeans lub PHPstorm pokazują to w bardzo przejrzysty sposób ). Następnie po połączeniu Twoich zmian z cudzymi, sprawdzasz jak bardzo zmiany wpłynęły na działanie aplikacji. Następnie, jeżeli nie widzisz przeszkód, wysyłasz swój kod na repozytorium gita**.

*zmiany możesz oczywiście pobrać w dowolnym momencie
**to tak w dużym uproszczeniu - specjalnie pominąłem temat branchy, imho lepiej zacznijcie od projektu w którym wszystko będzie w głównej gałęzi.

Główną zaletą gita dla mnie jest po prostu pełna historia pliku z widocznymi zmianami - kto, gdzie, jak i po co - i właściwie wszystko co z tego wynika.

Ten post edytował Tuminure 26.06.2015, 07:09:58
Go to the top of the page
+Quote Post
nyfko
post 26.06.2015, 13:42:50
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 29.07.2014

Ostrzeżenie: (0%)
-----


OK już trochę lepiej rozumiem smile.gif
A w przypadku gdy chcę wysłać zmiany na gita, to muszę pobrać te pliki z FTP na komputer lokalny, pobrać jakiś program na windowsa który się połączy z tym gitlabem i za jego pomocą to aktualizować?
Go to the top of the page
+Quote Post
Tuminure
post 28.06.2015, 18:15:48
Post #4





Grupa: Zarejestrowani
Postów: 178
Pomógł: 49
Dołączył: 16.04.2012
Skąd: Bytom

Ostrzeżenie: (0%)
-----


Pliki ściągasz TYLKO z gita, za pomocą polecenia git clone, które sklonuje aktualny stan repozytorium na Twój komputer.
Go to the top of the page
+Quote Post
tzm
post 28.06.2015, 18:49:12
Post #5





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Cytat(Tuminure @ 26.06.2015, 07:50:58 ) *



Na konflikty w Gicie jest gitflow, redukcja problemów o jakieś 90% co nie znaczy że się nie zdarzają jakieś, i ogólnie nie po to jest GF... ale jak się chłopak na początku wdroży to może uniknie kupy nerwów z czystymi komitami i mergami branchów.

Ten post edytował tzm 28.06.2015, 18:49:31
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 16:35