Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Kontrola i zarządzanie projektami _ Git fork podkatalogu jako nowe repozytorium

Napisany przez: duch4ever 7.04.2018, 11:32:51

Witam, chciałem stworzyć modyfikację szablonu dużego CMS'a. Chcę zrobić fork tylko jednego katalogu repozytorium tak aby mieć na swoim githubie i tam wrzucać zmiany ale też mieć możliwość zrobuć pulla z originalnego repo gdy pojawią się tam jakieś poprawki błędów itp. i połączyć z własną wersją.

Czy da się to zrobić w gicie? Znalazłem takie coś https://help.github.com/articles/splitting-a-subfolder-out-into-a-new-repository/ ale tam nie ma nic o pullach z oryginalnego repo.

Napisany przez: Pyton_000 7.04.2018, 12:17:06

Niestety, musisz zrobic sobie forka całego projektu a potem w razię potrzeby robić merge oryginalnego projektu ze swoim.

Napisany przez: kufel16 7.04.2018, 12:44:26

A jeśli by zrobić gitignora dla katalogu template i utworzyć repo w katalogu template?
Można będzie w ten sposób obejść problem?

Napisany przez: Pyton_000 7.04.2018, 14:01:56

Pokaż strukturę katalogów i opisz co czym ma być.

Napisany przez: duch4ever 8.04.2018, 14:23:57

Struktura bez znaczenia, kilka katalogów a ja chcę zrobić fork z jednego. Mogę sklonować całe repo ale czy można mieć klon tylko jednego katalogu?

Napisany przez: com 8.04.2018, 16:41:40

submoduły?

Napisany przez: Pyton_000 8.04.2018, 18:17:06

submodules się nie za bardzo nada bo oryginalne repo msiałoby mieć kilka myków. Ergo i tak trzeba zrobić fork całego repo i ew. dodać kolejne remote-repo jako np. org-origin i robić fetch + merge zmian.

Napisany przez: duch4ever 9.04.2018, 15:29:02

Czekaj czekaj bo nie jestem biegły w gicie smile.gif zrobić klon repozytorium i na osobnej gałęzi trzymać mój katalog? Przy zmianach ściągać całe repo i łączyć z moją gałęzią jeśli są zmiany?
To chyba powinno rozwiązać problem.

Napisany przez: Pyton_000 9.04.2018, 17:03:44

Tak dokładnie.
- robisz sobie fork
- zaciągasz repo na dysk
- dodajesz remote : git remote add origin2 http:.....

Robisz sobie swoje zmiany tam jak chcesz....

- sprawdzasz czy nie ma zmian w oryginalnym repo: git fetch origin2
- jeśli się coś pojawiło to scalasz sobie te zmiany do swojego repo: git merge origin2/master master

Jesli nic nie pomieszałem to będzie ok.

Napisany przez: duch4ever 9.04.2018, 18:56:34

Dzięki, przetestuje to rozwiązanie.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)