4

私の個人サイトの公開バージョンをGithubでリリースして、人々がソースを表示して、私のコーディングスタイルを理解したり、改善したり、私の顔で笑ったりできるようにしたいと考えています。

問題は、しかし、私がいくつかのものを除外したいということです。もちろん、これは機密情報(dbパスワードなど)だけでなく、同じコードベースで実行している他の情報も意味しますが、フロントエンドに表示される情報とは関係ありません。除外する必要があるものの1つは、セキュリティとライセンスの両方の問題で使用する認証です。ご覧のとおり、これはこのコードベースに属していますが、一般に公開できるものではありません。

既存のgitリポジトリのクローンを作成し、他の人に見られたくないものを変更してから、すべてのコミットをリベースしてまとめることを考えました。ただし、元のリポジトリから新しい変更をプルすることはできません。これにより、パブリックリポジトリの保守が困難になります。

では、これを行うための最良の方法は何でしょうか?元のリポジトリをリベースしたくないので、履歴を失うわけにはいきません。または、ソースを他の人と共有できる他の賢い方法はありますか?

編集:明確にするために、私は自分のサイトのベースとしてFuelPHPフレームワークを使用しています。パブリックリポジトリがプライベートリポジトリのフォークになるように設定しようとしています。私はプライベートソースを開発してから、パブリックリポジトリにプッシュします。データベース構成ファイルの中で、フィルターで除外する必要があるものの1つは、セキュリティとライセンスの両方の問題で使用する認証です。ファイルの追跡を簡単に解除しても効果はありません。簡単に履歴に戻して、ファイルを元に戻すことができます。

4

1 に答える 1

4

いくつかのリファクタリングが必要なようです。Gitにコンテンツを追加するためのこのプッシュは、モチベーションを高め、パブリックなものとプライベートなものを確実に分離するために必要な触媒にすぎない可能性があります。

最初に、データベースのパスワードやその他の機密情報について言及しました。例として、Wordpressはデータベースのパスワードを別の構成ファイルに保持します。すべてのユーザーが同じWordpressのコピーをダウンロードしますが、各ユーザーは独自のwp-config.phpを生成します。複数のファイルを管理するよりも、1つのばらばらのファイルを維持する方がはるかに簡単なので、同様のモデルに従うようにコードをリファクタリングすることを検討してください。

「その他」については、正確に何を意味するのかはっきりしていませんでしたが、共有しようとしているプロジェクトとは全く関係のないものだと思います。これが実際に当てはまる場合は、おそらくその「他のもの」はすべて完全に異なるプロジェクトに保管する必要があります。「その他」のアイテムをサイトのサブドメインに移動して、実際にはサーバー上の別のWebサイトにすることを検討してください。使用しているバージョン管理システムに関係なく、それらを別のリポジトリにコミットすることもできます。

結局、公の世界と私的な世界の間に明確な分離点を作ると、問題が解決されるだけでなく、もう少し整理された気分になり、自分を知ることで達成感を味わうことができます。家を掃除しました。

于 2012-05-17T08:05:25.193 に答える