2

githubプロジェクトのクローンを作成しましたが、プライベートでいくつかの変更を加える必要があります(支払い情報の入力など)。Githubでは、フォークされたリポジトリを非公開にすることはできません。代わりに複製する必要があります。

彼らの指示に従うことは私にとってはうまくいきませんでした(彼らのサポートでそれに取り組んで、いくつかのエラーがありました)。それでも、私は流れを理解していません-私はこれらすべてを行うことができる必要があります:

  1. 必要に応じて、オリジンリポジトリから更新を取得します。
  2. 少なくとも1つのリポジトリをプライベートにしてください。
  3. いくつかの変更を加えて、元に戻します。おそらく、これには追加のパブリックリポジトリが必要になります。

これらすべてを一緒に同期する方法のベストプラクティスがわかりません。何かアドバイスはありますか?

4

2 に答える 2

1

コミットをプッシュしてリモートのプライベートサーバーに「保存」することに関心がない場合は、読み取り専用バージョン (実際にはローカル バージョン) で単純なクローンを作成してください。

それ以外の場合は、Bitbucketを使用してプライベートなものをプッシュできます。

$ git clone … # the original project
$ git remote add ghost git@bitbucket.org/your_own_repo.git
$ git fetch origin # fetch the original
$ git push ghost master # push the head master into your own repo

元のプロジェクトを更新する必要がある場合:

$ git pull origin *the_branch*

データを次の場所にプッシュします。

$ git push ghost *the_branch*

しかし、JB Nizetが言ったように、ここでは要点がわかりません。通常の方法で貢献しないのはなぜですか?

于 2012-12-26T09:11:46.180 に答える
1

プライベートな変更がよりプライベートな構成である場合:

  • これらの値を git リポジトリ (任意の git リポジトリ) でバージョン管理しないでください。誤ってプッシュしてはならない場所にプッシュするリスクが高すぎます。
  • それらを別の参照 (ファイルを保存できる任意のクラウド サービスで、暗号化されている可能性もあります) に保存します。ここでは「プライベート フォーク」は必要ありません。
  • その構成ファイルのテンプレートと、パブリック値を持つファイルのみをバージョン管理します。
  • コンテンツ フィルター ドライバーを使用して、次のことを行います。
    • 適切な環境 (コンピューターなど) で Git リポジトリをチェックアウトするかどうかを確認します。
    • その場合は、他の参照にアクセスし、値を取得して、正しい (プライベート) 値で最終的な構成ファイルを生成します。

にじみ

具体的な例については、この回答を参照してください。

于 2012-12-26T10:13:06.263 に答える