1

これが意味があるかどうかはわかりません...

すべてのコーディングを行うメインのプライベート git リポジトリがあります。そして、公開結果のみを公開するように別の公開 git をセットアップしました (元のデータの一部は機密情報です)。プライベート git 内のフォルダーの 1 つで、すべての結果を準備しました。

では、パブリック git のブランチ (github-pages) を作成して、プライベート git の結果フォルダーのみを追跡することは可能ですか?

それとも、このためのより良いワークフローがありますか?

ありがとう、

4

2 に答える 2

1

はい、可能です

次のようなことができます。

1) 非公開フォルダを一時的に別の場所に移動する

2)新しいレポを作成し(パブリックブランチでプライベートファイルを公開する可能性のある古いコミットからログを削除するためにこれを行う必要があります)、マスターブランチにはパブリックファイルのみを含めます(現時点では)

    git init
    git add . 
    git commit -m 'adding public files to repo'

2) public_stable という名前の新しいブランチを作成してチェックアウトします。

    git checkout -b public_stable

3) 「/your-private-folder-name/.」という行を含む .gitignore ファイルを作成します。public_stable ブランチで、これらのファイルを public ブランチから除外します

たとえば、Linux ボックスでは...

    touch .gitignore && echo '/your-private-folder/*' >> .gitignore

次...

    git add .gitignore
    git commit -m 'this branch will ignore files located on private folder'

4) マスターに戻り、マスターから新しいブランチ private_stable を作成します

    git checkout master
    git checkout -b private_stable

4) これで、プライベート フォルダーをプロジェクトに戻すことができます

    git add /your-private-folder-name/.
    git commit -m 'added private files'

5) この後、作業する 2 つのメイン ブランチがあります: public_stable と private_stable

6) プライベート ファイルで作業するには、private_stable から分岐して、安定した作業とは別の進行中の作業を作成する必要があります。

private_stable から...

   git checkout -b private_issue

private_issue が完了したら、変更を private_stable にマージできます

public_* ブランチにも同じワークフローを適用できます

こうすることで、パブリック コンテンツをプライベート コンテンツから分離できます。

Master にはすべてのファイルがありますが、public_* ブランチにある .gitignore を master または private_ ブランチにマージすることは避けてください。

于 2013-06-20T03:56:52.120 に答える