0

兄と私は、2 台の異なるコンピューター (Mac と PC) からアプリで共同作業しています。私は一生、彼のコンピューターで Postgres を動作させることはできません。そして、何時間も費やした後、彼のコンピューターで開発用に sqlite3 を実行することにしました (これはパイのように簡単です)。彼が自分の PC から機能的な変更を加えることができるようにしながら、私の Mac で何かが起こります。そして、それらを github にマージします。

問題は、これには 2 つの異なる database.yml ファイル、2 つの異なる db/schema.rb ファイル (私が思うに)、および異なる gemfile (1 つは sqlite、もう 1 つは pg) が含まれることです。

私の考えは、彼のコンピューターですべてを行い、それらのファイルを gitignore ファイルに追加することでした。しかし、それが無視されない場合、Mac に戻ったときに、彼の間違った構成を自分のマシンにマージしていませんか?

ともあれ、それで.gitignoreに.gitignoreを追加しようと考えていたわけです。これは機能しますか?それは宇宙を曲​​げるパラドックスを生み出すでしょうか?私が知らないこれを行うためのより良い方法はありますか?

4

2 に答える 2

1

これら 2 つのスキーマは本当に異なるのでしょうか? 彼らは通常そうではありません。

そうでない場合は、config/database.ymlを無視して、 contig/database_sqlite_example.ymlcontig/ database_ppostgresql_example.ymlを作成します。そうすれば、誰かがレポを複製するときに、例のファイルをdatabase.ymlにコピーするだけで (無視されます) 、SQLite または PostgreSQL を使用できます。

于 2012-10-14T09:12:16.793 に答える
0

いいえ、.gitignoreを無視しないでください

私はいつもこのためにローカルブランチを作成するというアイデアが好きでした。私は実際に少し地元の支店に夢中になっています...しかし、それはすべて一緒に別の問題です。

  • プライベートな小さな作業バブルが必要な場合は、ブランチをローカルのみにしてください。マスターにマージされるもの(または開発ブランチが何であれ)を制御し、履歴のためにローカルブランチのすべてをgitにコミットできます。

  • 作業中の内容を共有したい場合は、ブランチを共有してください。ただし、このようにして、ローカルブランチを共有しながら環境設定を分離して、コラボレーションで表示できるようにすることができます。

Gitの分岐と共有に関する優れたドキュメントがたくさんあるので、確実に壊れてしまうリンクで投稿を曇らせるのではなく、それをあなたに任せます。

とにかく、特にあなたのようなコラボレーションの取り組みにおいて、私たちの誰もがマスターで直接働きたいと思っているかどうかはわかりません。

于 2012-12-06T15:55:06.337 に答える