7

やりたいこと: github を使用しています。私は2つの枝を持っています。マスターページと gh ページ。master ブランチに unity3d プロジェクトがあります。実行すると、Web ページが生成されます。gh-pages ブランチに Web ページのコンテンツを表示したいと考えています。

これは、リポジトリの 2 つのブランチ間でフォルダーを共有する必要があることを意味すると思います。それはほとんど不可能に思えます。

これを行う正しい方法はありますか?私の現在の解決策は、2 つの github プロジェクトを作成し、最初のプロジェクトから 2 番目のプロジェクトにビルドすることです。次に、2 番目の gh ページを表示します。それは非常に...無関係なようです。これをすべて 1 つのプロジェクトで実行できるはずです。

4

4 に答える 4

11

最初のリポジトリの作業ディレクトリ構造内で、リポジトリを再度クローンすることができます。したがって、ローカルでは、次のフォルダー構造があります。

project
|- .git/
|- .gitignore
|- (other project related files)
|- deploy/
   |- .git/
   |- (deployed files)

projectとはどちらもdeploy、プロジェクトのクローン リポジトリです。deployブランチをgh-pagesチェックアウトしました。外側.gitignoreには明らかに がリストdeploy/されているため、プロジェクトではフォルダーは無視されます。

これで、デプロイ時に、すべてのファイルを deploy フォルダーにパブリッシュし、そこに cd して , を実行するgit add .git commitgit push生成されたファイルがデプロイされます。

明らかに、これは master と gh-pages ブランチ間の実際の関係を提供しませんが、両方が同じリポジトリ内で互いに完全に独立して存在します。

于 2013-01-06T17:34:28.883 に答える
1

これは Jekyll ワークフローに似ています。unity3d コンテンツが というフォルダーに生成されるとしますfoo。追加fooしてから.gitignoreこれを行う

git checkout master
<run unity3d>
git checkout gh-pages
git rm -qr .
cp -r foo/. .
rm -r foo
git add
git commit

于 2013-01-06T17:23:21.300 に答える
1

素晴らしく素晴らしいgh-pages npm モジュールをチェックしてください。数行のコードで、例えば:

var ghpages = require('gh-pages');
var path = require('path');
ghpages.publish(path.join(__dirname, 'dist'), function(err) { ... });

gh-pages ブランチを作成し、github にプッシュします。

より詳細には、ドキュメントから:

この関数を呼び出すと、現在のリポジトリの一時的なクローンが作成され、gh-pagesまだ存在しない場合はブランチが作成され、基本パスからすべてのファイルをコピーするか、オプションの構成からパターンに一致するファイルのみがコピーされ、srcすべての変更がコミットされ、プッシュされます。originリモートに。

それは非常に構成可能であり、私にとって魅力のように機能します。

于 2015-04-22T08:13:10.260 に答える
0

doxygen ドキュメントをマスターから gh ページに「簡単に」プッシュしたかったのです。

私は同様の解決策を読み、私の目は艶をかけられました。

私の解決策は次のとおりです。

  1. ソース ブランチ: ファイルを .gitignore リストの「一時ディレクトリ」に配置します。
  2. ブランチを gh-pages に変更します (.gitignore リストされたディレクトリを保持します)
  3. gh-pages ブランチ: 一時ディレクトリから適切なディレクトリへの rsync
  4. gh-pages ブランチ: 'git add -u' 適切な場所のディレクトリ
  5. gh-pages ブランチ: 'git commit'

これには、更新を手動で実行してコミットする必要があります。これは、特定のビルドからのみ Web サイトに投稿する場合に適しています。

例 (主にコメント): https://github.com/nekenyu/libBsdSockets/blob/gh-pages/update_doc.sh

于 2013-03-26T00:44:13.637 に答える