Tôi thấy điều này khá tẻ nhạt - theo ý kiến của tôi, github wikis nên là chi nhánh của kho lưu trữ chính, hoặc ít nhất nó sẽ có thể làm cho rằng một lựa chọn.
Tuy nhiên, tôi tin rằng giải pháp tốt nhất là chỉ cần di chuyển wiki vào kho chính, nói trong docs/
hoặc wiki
, sử dụng một subtree merge. Ví dụ: giả sử kho lưu trữ của bạn là you/proj
, wiki của bạn sẽ là: git://github.com/you/proj.wiki
. Sau đó, để hợp nhất nó trong repo chính của bạn, bạn sẽ làm gì:
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/"
Bạn thậm chí có thể giữ cho wiki làm việc trên một bên để chào đón những đóng góp nào đó, nhưng sau đó bác sĩ thú y chúng vào tài liệu chính của bạn như bạn thấy phù hợp. Để kết hợp các thay đổi mới trong sau khi xem xét, bạn sẽ làm gì:
git pull -s subtree wiki master
Thật không may, kết hợp thay đổi cách khác là hơi phức tạp hơn, và dù sao, có lẽ bạn nên làm điều này như là một điều một thời gian, sau đó đóng wiki, hoặc chuyển hướng đến nguồn repo ...
Hơn nữa, một cảnh báo chính của phương pháp này là git log wiki/Home.md
(ví dụ) không thực sự hiển thị lịch sử từ trang wiki. Lịch sử là ở đó, nhưng bằng cách nào đó, git-log
không theo dõi được. Đây là một known limitation liên quan đến git subtrees. Một giải pháp khác để khắc phục điều này là thực hiện filter-branch
và hợp nhất thường xuyên, một lần để giữ lịch sử.
Đối với tôi, lợi thế chính của việc có wiki như một phần của cây nguồn chính là yêu cầu kéo và thay đổi có thể được phối hợp trên mã và tài liệu. Nó cũng làm cho nó trivially đơn giản để tàu tài liệu với mã của bạn thay vì giả định mọi người sẽ chỉ đọc nó trực tuyến ...
Tôi đã đi với submodule. Cảm ơn câu trả lời. –
Làm thế nào điều này sẽ cho bạn với wiki như là một submodule? Tôi muốn làm một cái gì đó tương tự nhưng không bao quanh đầu của tôi xung quanh kinh doanh submodule. Làm thế nào điều này sẽ đối phó với phân nhánh và sáp nhập, vì tôi muốn có một nhánh "phát triển" mã của tôi giống với wiki, vì vậy khi tôi hợp nhất với nhánh chính của mình, nó cũng sẽ hợp nhất các thay đổi vào sống wiki chi nhánh. –
Nhưng điểm của nó là submodule?Không ai khác có thể sửa đổi hoặc sử dụng nó anyway. Bạn có thể sử dụng nó ở bất cứ đâu ngoài github không? Tôi có nghĩa là bạn có thể có nó trong một thư mục riêng biệt như github repo và đơn giản .gitignore thư mục đó từ repo chính. – jayarjo