2011-01-20 54 views
46

我已經在GitHub上回購。最近我發現了GitHub的頁面,我想用它們。
我想創造這個新分支,然後,當我需要,無論是提交於master分行或分公司gh-pages的Git分支:GH-頁

我該怎麼做?我必須在我的回購中創建另一個文件夾嗎?

+0

`origin`不是一個分支,它是一個遙控器。你的意思是`主人'。 – Dustin 2011-01-20 18:43:40

+0

啊,是的,你說得對。我會編輯。 – rubik 2011-01-21 06:15:29

+0

看到[我的相關答案](http://stackoverflow.com/a/29616287/946850)和一個[寫作](http://krlmlr.github.io/git-subbranch)解決方案,包括創建一個克隆在工作副本的subdirectoy中。 – krlmlr 2015-04-13 22:57:03

回答

7

在您的本地克隆做,

git symbolic-ref HEAD refs/heads/gh-pages 
rm .git/index 
git clean -fdx 

然後,git checkout gh-pages寫你的網頁。當您準備好發佈頁面時,您可以使用git push origin gh-pages。 GIT中的

+0

是的,但我在哪裏放我的網頁? git如何知道要在gh頁面中放置哪些頁面? – rubik 2011-01-20 19:18:38

32

較新版本必須將git symbolic-ref方法Chandru說明的替代方案。這避免了必須使用較低級別的命令。

git checkout --orphan gh-pages 
git rm -rf . 
-1

是你的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/

好運

0

典型的方法就是切換分支: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提供的腳本。

1

還有另一種解決方案,您的問題:忘記gh-pages和分支;將您的靜態文件放在/docs目錄中,然後轉到您的項目設置並告訴github服務/docs內容。

欲瞭解更多信息,看看this

2

發佈靜態網站是這樣的:

git subtree push --prefix www origin gh-pages 

哪裏www是文檔根目錄中的靜態文件。 你的靜態網站現在住在: https://[user_name].github.io/[repo_name]/