2013-02-27 21 views
6

W BitBucket można utworzyć Wiki dla projektu. Jednak sama Wiki jest repo, która jest oddzielona od źródła repo. Kiedy go sklonujesz, tworzy repozytorium o nazwie "wiki".Najlepsza praktyka klonowania i zatwierdzania repozytorium "Wiki" dla projektu BitBucket

Gdzie jest idealne lub konwencjonalne miejsce do sklonowania tego repo? Czy umieścisz go w repozytorium źródłowym? Jeśli tak, to czy .gitignore/wiki podczas dokonywania z repozytorium źródłowego? Czy uwzględnisz repozytorium wiki w źródłowym repo?

Pisząc, czy popełniasz dwa razy, raz w repozytorium źródłowym, a następnie ponownie w repozytorium wiki? Czy możesz zmodyfikować git źródła, aby zatwierdzić zarówno źródło, jak i wiki?

Dziękuję.

Odpowiedz

1

Utrzymuję następującą strukturę repozytoriów.

enter image description here

Idea jest utrzymanie kodu repo i jest to związane wiki jak rodzeństwo. W ten sposób nie ma potrzeby informowania użytkownika .gitignore o zignorowaniu jakichkolwiek powiązanych plików wiki. Ponadto, naciskasz tylko na repozytorium, w którym dokonujesz zmian. Mam nadzieję, że tego właśnie szukałeś.

+0

myślałem to zrobić w pierwszej kolejności, ale wydaje się, że Submoduły gdzie stworzone, aby pomóc nam uniknąć takich rzeczy :-) – erm3nda

4

Idealnym sposobem jest użycie funkcji modułem Git:

$ cd project 
$ git submodule add https://bitbucket.org/user/project.git/wiki 

To tworzy folder wiki i .gitmodules plik, a następnie:

$ cd wiki 
$ nano Home.md 

Zmień coś z informacją w pliku, oraz:

$ git add . 
$ git commit -m "Some comment" 
$ git push origin master 

Powracając do projektu:

$ cd .. 
$ git add . 
$ git commit -m "Added wiki module" 
$ git push [remoteName] [remoteBranch] 

Dzięki temu repozytorium projektu wygeneruje link z konkretnym zatwierdzeniem wiki repo, można zaktualizować oba tylko jeden z nich.

Mam nadzieję, że to będzie pomocne.

Więcej informacji: https://git-scm.com/book/en/v2/Git-Tools-Submodules

+0

Rzeczywiście, używając repo jako modułem jest właściwa droga. Posiadanie pliku .gitmodules nie jest gorsze niż podzielenie proyecta na 2 oddzielne repo/foldery. – erm3nda

+0

@deoxyseia Czy chcesz oznaczyć folder wiki jako zignorowany w folderze .gitignore? – emeraldjava

+0

@emeraldjava nie jest konieczna, plik .gitmodules obsługuje te foldery, a jedynie polecenie push wywołuje repozytorium wiki. – Deoxyseia