2015-08-12 27 views
6

GitHub (ve GitLab gibi birçok git sunucusu), proje düzeyinde wiki'leri sunar, genellikle, markdown (*.md) dosyaları depolanır ve form ... iyi ... projenizin wiki'si .GitHub wiki dosyası nasıl kaydedilir?

O olurdu

çok havalı Eğer ana proje değişiklikler yapmak yaptığında wiki de (Yaptığınız şey, eğer değişir, böylece ana proje kaynağının parçası olarak wiki saklamak için bir yol olup olmadığını wiki işaretleme dosyalarınızdaki değişiklikler). gibi

şey:

myproject/ 
    src/main/resources/ 
    src/main/groovy/ 
    build.grade 
    docs/ 
     Home.md 
     About_This_Project.md 
     etc. 

Bunu gerçekleştirmek için herhangi bir yolu var mı? Gördüğüm gibi, wiki'lerin klon URL'leri ve rakamları var, bu da ayrı Git projeleri olarak ele alındıkları anlamına geliyor. İkisini birleştirmenin herhangi bir yolu var mı?

+0

Bunu wiki ile yapamazsınız, ancak [Github sayfaları] (https://pages.github.com/) kullanarak böyle bir şey yapabilirsiniz. – larsks

+0

html'nin github'da düzgün şekilde gösterileceğini unutmayın. Her projenin README'sinden proje yardım/wiki'sinin index.html sayfasına bağlantıları olduğunu görüyorum. – Snickers3192

cevap

6

Bir yorumda @larsks tarafından belirtildiği gibi, bunun gibi bir şey için GitHub Pages'u kullanabilirsiniz. Ancak, bazı ek araçlar olmadan, belgelerin ana projenizden ayrı bir dalda ("gh-sayfaları") olması gerekir. Bununla birlikte, ikisini bir araya getirmenin birkaç yolu vardır ve çözümlerin bazıları küçük bir ayarlamayla diğer Git ana bilgisayarlarıyla kullanılabilir.

gph-ithalat

aslında sizin için gh-sayfaları şubesine docs/ dizini (veya hangisi dizin bunu işaret) ve kopya devralacak (ve GitHub itmek isteğe bağlı olarak) ghp-import araçtır. GitHub Sayfaları, kaputun altında Jekyll kullandığı için, dosyalarınızı bir Jekyll projesi olarak yapılandırılmış docs/ olarak yapılandırdıysanız, ghp-import komutunu her çalıştırdığınızda, belgelerinizdeki değişiklikleriniz 'gh-pages' dalına bağlı olacaktır. Bu değişiklikler GitHub'a aktarıldığında, Markdown dosyalarında Jekyll'i çalıştırır ve siteyi işlenen HTML ile günceller.

Elbette, bu çözümle ilgili birkaç sorun var. Her şeyden önce, GitHub'a özgüdür ve ikinci olarak, "gh-sayfalarının" şubesinin taahhüt geçmişini hortumlar (belgelerde warning'a bakın).

git-alt ağaç Belki bir daha evrensel bir çözüm, ayrı bir dalına bir alt dizinin tarihini kopyalayıp (ve korumak) hangi, git-subtree kullanmaktır. Sadece belirtilen alt dizini etkileyen taahhütleri kopyalayacaktır. Ayrıca, hem belirtilen alt dizinde hem de kaynağınızın diğer bölümlerinde bulunan tüm işlemler yalnızca alt dizindeki değişiklikleri içerir. Bir daha geri giderken GitHub Sayfaları ile how to use it tam bir yazma yaptım.

Eğer GitHub

kullanmama

git subtree split --branch gh-pages --prefix docs/ 
git push origin gh-pages 

:

sıralama sürümü (kullandığınız hangisi şube veya) gh-pages şube güncellemek istiyorum efendin şube her zaman aşağıdaki komutları çalıştırmaktır GitHub'u kullanmak istemiyorsanız, yukarıdaki araçlardan herhangi birini (teorik olarak) kullanabilir ve yalnızca belgelerinizi içeren dal için farklı bir uzaktan kumanda kurabilirsiniz. Daha sonra, değişikliklerinizi dökümantasyon şubesine (belki de git subtree split komutunu kullanarak) kopyaladıktan sonra, bu şubeyi ana makinenizin "wiki" havuzuna götürebilirsiniz. Bunu şahsen denemedim. Yolculuğunuz değişebilir.

bile GitHub Sayfalar belgelerinizi işlemek için Jekyll kullanmak gerekmez

Jekyll

kullanılmaması. Zaten oluşturulmuş HTML'yi GitHub Sayfalarına zorlarsanız, çok iyi çalışır. Çeşitli static site generators ( more here) bu tür işlevsel olarak sunar. Örneğin, bir popüler proje olan MkDocs, Markdown belgelerini docs/ dir'inizde alacak ve HTML'ye dönüştürecektir. Ardından bu oluşturulmuş belgeleri çeşitli barındırma hizmetlerine yükleyebilirsiniz.

Bu yanıt, belirli araçları önermek için tehlikeli bir şekilde yaklaşıyor, bu yüzden burada duracağım.

1

GitHub görüntüleyicide Markdown dosyasını görüntüleyecektir, böylece bunu hiçbir şey yapmadan etkin bir şekilde yapabilirsiniz. Bunu sevdiği README.md bir bağlantı koyarsanız: Birisi README.md bağlantıyı tıkladığında

...to see more info [click Here](docs/SomeFile.md). So on and so forth 

sonra, bunlar doğru yere alacak ve dosya görüntüleyici Markdown olarak görüntülenecek pencere alanı.