Uważam, że wszystko to jest dość nudne - moim zdaniem, strony wiki github powinny być gałęziami głównego repozytorium, a przynajmniej powinno być możliwe zrobienie tej opcji.
Niemniej jednak uważam, że najlepszym rozwiązaniem jest po prostu ruch wiki do głównego repozytorium, powiedzmy w docs/
lub wiki
używając subtree merge. Na przykład, zakładając, że twoje repozytorium to you/proj
, twoje wiki będzie miało postać: git://github.com/you/proj.wiki
. Następnie scalić je w głównym repo, zrobiłbyś:
git clone git://github.com/you/proj
cd proj
git remote add -f wiki git://github.com/you/proj.wiki
git merge -s ours --no-commit --allow-unrelated wiki/master
git read-tree --prefix=wiki/ -u wiki/master
git commit -m "Github wiki subtree merged in wiki/"
Można nawet trzymać wiki pracy na stronie powitać wkładów publicznych tam, ale potem weterynarza je do głównej dokumentacji zgodnie z potrzebami. Aby scalić nowe zmiany po przeglądzie, zrobiłbyś:
git pull -s subtree wiki master
Niestety, łączenie zmienia Innym sposobem jest nieco trudniejsze, a tak czy inaczej, powinieneś zrobić to jako rzecz jeden raz, a następnie zamknij wiki, lub przekierowanie do źródła repo ...
Co więcej, głównym zastrzeżeniem tego podejścia jest to, że git log wiki/Home.md
(na przykład) faktycznie nie pokazuje historii ze strony wiki. Historia jest tam, ale w jakiś sposób git-log
nie może go śledzić. Jest to known limitation związane z poddrzewami git. Innym rozwiązaniem tego problemu byłoby zrobienie filter-branch
i regularne scalanie, jednorazowo, aby zachować historię.
Dla mnie główną zaletą posiadania wiki jako części głównego drzewa źródłowego jest to, że żądania ciągnięcia i zmiany mogą być koordynowane między kodem i dokumentacją. To również sprawia, że wysyłanie dokumentacji za pomocą kodu jest banalnie proste, zamiast zakładać, że ludzie po prostu przeczytają ją online ...
Udałem się z modułem częściowym. Dzięki za odpowiedzi. –
Jak to działa z wiki jako modułem częściowym? Chcę zrobić coś podobnego, ale nie zakręciłem głową wokół modułu częściowego. Jak poradziłbym sobie z rozgałęzianiem i łączeniem, ponieważ chciałbym mieć "rozwiniętą" gałąź mojego kodu z tym samym dla wiki, więc kiedy scalę to z moją główną gałęzią, scaliłoby to również zmiany w gałąź wiki na żywo. –
Ale jaki jest sens posiadania tego podmodułu?Nikt inny nie może go modyfikować ani używać. Czy możesz go używać w dowolnym miejscu poza githubem? Chodzi mi o to, że możesz go mieć w oddzielnym katalogu jako repozytorium github i po prostu .gitignore tego katalogu z głównego repo. – jayarjo