![]() |
![]() ![]() |
![]() |
![]() ![]()
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 |
|
|
![]()
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 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 29.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
OK już trochę lepiej rozumiem
![]() 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ć? |
|
|
![]()
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.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 675 Pomógł: 58 Dołączył: 17.12.2013 Ostrzeżenie: (10%) ![]() ![]() |
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 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 16:35 |