我已經在GitHub上回購。最近我發現了GitHub的頁面,我想用它們。
我想創造這個新分支,然後,當我需要,無論是提交於master
分行或分公司gh-pages
。的Git分支:GH-頁
我該怎麼做?我必須在我的回購中創建另一個文件夾嗎?
我已經在GitHub上回購。最近我發現了GitHub的頁面,我想用它們。
我想創造這個新分支,然後,當我需要,無論是提交於master
分行或分公司gh-pages
。的Git分支:GH-頁
我該怎麼做?我必須在我的回購中創建另一個文件夾嗎?
您可能會發現本教程有用:
對我來說,這種做法似乎更簡單,然後做你想要編輯您的GH-網頁內容每次git checkout gh-pages
。讓我知道你的想法^ _^
編輯:我更新了教程鏈接 - 謝謝@Cawas。老tuotial(不推薦)爲https://gist.github.com/825950
在您的本地克隆做,
git symbolic-ref HEAD refs/heads/gh-pages
rm .git/index
git clean -fdx
然後,git checkout gh-pages
寫你的網頁。當您準備好發佈頁面時,您可以使用git push origin gh-pages
。 GIT中的
是的,但我在哪裏放我的網頁? git如何知道要在gh頁面中放置哪些頁面? – rubik 2011-01-20 19:18:38
較新版本必須將git symbolic-ref
方法Chandru說明的替代方案。這避免了必須使用較低級別的命令。
git checkout --orphan gh-pages
git rm -rf .
創建項目頁面手動
添加新設定的頁面的一個項目手動是一個簡單的過程 如果你習慣使用命令行飯桶。
https://help.github.com/articles/creating-project-pages-manually
是你的GH-頁,正好具有相同的文件夾結構的主分支?如果是這種情況,爲什麼你甚至想要兩個分支?只保留一個gh-pages分支!但如果出於某種原因,你想有一個不斷同步的兩個分支,然後你最好的選擇是使用git rebase
。在這裏看到:
http://lea.verou.me/2011/10/easily-keep-gh-pages-in-sync-with-master/
您也可以挑櫻桃只從主所需要的文件,並把他們在使用git checkout
特殊用例GH-頁。在這裏看到:
http://oli.jp/2011/github-pages-workflow/#gh-pages-workflow
http://nicolasgallagher.com/git-checkout-specific-files-from-another-branch/
有過同樣的問題,我來發現,GH-頁面通常最終會具有不同的代碼庫比高手來解決。換句話說,gh-pages應該只包含你項目的dist/build/publish文件夾的內容,而master將包括你的配置文件,未定義的腳本和樣式等。
我的建議是創建gh-pages作爲--orphan
分支,並且只包含其中已發佈的材料。你必須從你的主人克隆在不同的本地目錄,使用git checkout --orphan gh-pages
創建GH-頁面,然後刪除使用git rm -rf .
所有不必要的文件。從那裏你可以繼續,並添加你的發佈只文件後推送到gh頁面。 參見Github的文檔的更多信息:
https://help.github.com/articles/creating-project-pages-manually/
好運
典型的方法就是切換分支:git checkout master
,如果你想,如果你想在gh-pages
工作在主機和git checkout gh-pages
工作。
從git 2.5開始,您可以同時檢出兩個分支(在不同的目錄中)。請參閱https://github.com/blog/2042-git-2-5-including-multiple-worktrees-and-triangular-workflows。通過git worktree add -b gh-pages ../gh-pages origin/gh-pages
安裝。
獎勵:如果您的master
結帳的子目錄的內容是gh-pages
的內容,請使用https://github.com/X1011/git-directory-deploy提供的腳本。
還有另一種解決方案,您的問題:忘記gh-pages
和分支;將您的靜態文件放在/docs
目錄中,然後轉到您的項目設置並告訴github服務/docs
內容。
欲瞭解更多信息,看看this
發佈靜態網站是這樣的:
git subtree push --prefix www origin gh-pages
哪裏www
是文檔根目錄中的靜態文件。 你的靜態網站現在住在: https://[user_name].github.io/[repo_name]/
`origin`不是一個分支,它是一個遙控器。你的意思是`主人'。 – Dustin 2011-01-20 18:43:40
啊,是的,你說得對。我會編輯。 – rubik 2011-01-21 06:15:29
看到[我的相關答案](http://stackoverflow.com/a/29616287/946850)和一個[寫作](http://krlmlr.github.io/git-subbranch)解決方案,包括創建一個克隆在工作副本的subdirectoy中。 – krlmlr 2015-04-13 22:57:03