0

プロジェクトで遊んでみたかったので、gitはプロジェクトのクローンを作成し、その指示に従って、構成用のローカルブランチを作成しました(ユーザーが更新をマージして戻すことができるように)。

最初は自分の好みに合わせて微調整していたので、それ以上分岐する必要はありませんでしたが、今では他の人に役立つかもしれないコードがありますが、同じ分岐にパスワードなどがあります。

事実上、私は1つの大きなブランチを持っています。

  • Postgresバックエンド(デフォルト)ですが、いくつかの新しいコードを追加しました
  • 同じ新しいコードを使用したMySQLバックエンド(私が行った最大の変更)
  • 私の設定:新しい機能のためにセクションを追加しなければならないことがあるため、設定ファイルをgitで無視することはできませんが、個人設定を公開ブランチから除外する必要があります!これはローカルのみのブランチとして最適に機能すると思います。 Ok。これを修正しました。しかし、主な問題は残っています。
  • MySQLから分岐する開発ブランチ。

ゼロから始めて、さまざまな更新をブランチ/マージする方法を理解できたと思いますが、既存のリポジトリを調べて、どのコミットをどのブランチに適用するかを選択する簡単な方法はありますか?または、特定のコミットを除いて、上流のポイントからブランチを作成してからマージして戻すこともできますか?

4

2 に答える 2

0

「パスワードをソース管理に入れてください」というコメントに悩まされています。これを避けるためのいくつかのアイデアを、優先度の高い順に示します。

  1. プログラムが最も基本的な機能のためにパスワードを絶対に必要としない場合は、パスワードマネージャー(KeePassXなど)に保存し、起動時にライブ実行中のプログラムにカットアンドペーストします。

  2. これを環境変数としてサーバーに保存し、プログラムに読み込ませます。すべてのOSには環境変数があり、これによりサーバーごとに異なるパスワードを設定できます。

  3. 強力な公開鍵暗号を使用します。自分自身とアプリケーションの公開鍵と秘密鍵を生成します。パスワードを秘密鍵とアプリの公開鍵で暗号化して、アプリの秘密鍵のみがパスワードを復号化できるようにします。次に、プロジェクトメンテナに、アプリの秘密鍵を使用して安全な処理を実行してもらいます(ただし、安全に暗号化されていない限り、メールやソース管理を介して送信せずにプロジェクトのメンテナに渡してください)。このように、あなたとあなたのアプリはあなたのパスワードを持っており、アプリの秘密鍵がなければ、他の誰もそれを取得することはできません。

  4. 上記のいずれも不可能な場合は、フラットファイルで#2を実行し、インストール時にパスワードを手動で入力できます。

  5. 上記のすべてが手間がかかる場合は、安全なアプリケーションがない可能性があります。パスワードを完全に廃止し、保護しているものをすべて公開することを検討してください。

于 2012-10-26T12:22:56.620 に答える
0

わかりました、私は弾丸を噛みました。要するに:

  1. リポジトリ全体と作業ディレクトリをバックアップ ディレクトリにコピーします。
  2. そのバックアップ ディレクトリで、最新のブランチを選択して、"git log -p" t0 を使用して、削除する最初のコミットを見つけます。
  3. git rebase -i ~1
  4. エディターで "pick" を "e" ("edit") に変更するか、行を削除してコミット全体をクリアします
  5. 指示に従って、コミットから不要なデータを削除します。
  6. バックアップ ディレクトリとメイン ディレクトリを入れ替えます。
  7. 次に、光沢のある新しい作業ディレクトリを使用して、必要なブランチを作成し、必要なファイルをレポ内の別の場所または新しいバックアップ ディレクトリから取得します。

うまくいけば、これは誰かを助けるでしょう。

于 2012-10-26T21:29:04.177 に答える