2011-11-16 156 views
3

我將一個項目從Google Code轉移到Github。該項目在一個目錄結構中包含代碼和文檔。在同一個git目錄結構中管理代碼和文檔

我想使用Github的「Pages」功能來託管html文檔。理想情況下,我想執行1 push來更改代碼&文檔。

我該如何做到這一點?

回答

1

說到GitHub pages,您有用戶頁面和項目頁面。
我會假設你說的是後者,這意味着你需要創建你自己的gh-pages分支,從你的master分支中複製你的文檔文件到這個新的空分支,如GitHub文檔頁面所述。

從那裏,當你有兩個在你mastergh-pages分支新的提交,您可以在一個推送(git push --all

的問題開始的時候,你絕對希望看到這兩個目錄結構在同推兩個分支時間。
最簡單的解決方法是:

你的回購
  • 的一個克隆,在master分支設置。
  • gh-pages分支上的一個克隆(具有相同的回購)。
  • 從第一個repo到第二個repo的符號鏈接(允許您在相同目錄結構中對代碼和doc進行修改。自Vista以來,Windows甚至支持符號鏈接)。
  • ,以自動化的命令序列「git push master origin; cd ../secondRepo; git push gh-pages origin

你可以試着得到一個文檔回購作爲主回購的子模塊,但是......一個Git別名腳本,似乎這樣更復雜,它應該:看到「How to add a git repo as a submodule of itself? (Or: How to generate GitHub Pages programmatically?)」。


更新2016年8月:Simpler GitHub Pages publishing現在可以保持你的頁面文件在相同分支(沒有更多gh-pages需要)的子文件夾:

Now you can select a source in your repository settings and GitHub Pages will look for your content there.

你終於可以更新代碼和頁面在一個分支中。

+0

+1:不知道如何管理「符號鏈接」部分雖然...你可以展開這個嗎? – jldupont

+0

@jldupont這個想法是在兩個單獨的目錄結構中有兩個單獨的克隆,但能夠從這些克隆中的一箇中看到。如果你在Windows上,你可以使用'mklink'(http://www.windows7home.net/how-to-create-symbolic-link-in-windows-7/)在另一箇中看到一個回購。在這種情況下,這比子模塊容易得多。 – VonC

+0

@jldupont和馮。我目前正在努力解決相同的問題。這似乎是一個合理的答案。兩年後,你們兩人是否喜歡它的工作原理,或者你想出更好的東西?謝謝! – user949300

相關問題