2017-02-15 19 views
0

背景:私は現在、バイオインフォマティクスプロジェクトに取り組んでいます。 PyCharmをIDEとして使用し、GitHubをバージョン管理用に使用しています。私は...私のプロジェクトの構造に疑問を抱いたPyCharm/GitHub:同じプロジェクトの複数のリポジトリのディレクトリを管理する

セットアップ:我々は2つのリポジトリがある

  1. 私たちのファイルとディレクトリ
  2. そして、我々はサイドレポを持っているすべてを収容する主なレポ

R-shiny app(2)のGitHubレポは、メインのrepo(1)のディレクトリの1つのミラーイメージです。私たちは、R-Shinyアプリを常にメンテナンスしています(したがって、2 reposの理由)。

ここではPyCharmプロジェクトとGitHubリポジトリを(1)と(2)のように参照します。

質問:この状況を処理する最善の方法は何ですか?私のメインのプロジェクト(1)ディレクトリで

1.新しいPyCharmプロジェクト(2)を作成することが安全ですか?
メインプロジェクト(1)+サイドプロジェクト(2)をメインプロジェクトレポ(1)にプッシュ/プルします。次に、サイドプロジェクト(2)をサイドプロジェクトレポ(2)にプッシュ/プルします。

2.両方のPyCharmプロジェクト用に別々のディレクトリを作成します。
(2)から私のディレクトリをコピー/ペーストして、(1)に適切に貼り付けなければならないでしょう。
次に、プロジェクト(1)とプロジェクト(2)を別々にプッシュ/プルします。

3.また、1つのプロジェクト/リポジトリにすべてを統合し、R-Shinyアプリケーション/ディレクトリ用に別のブランチを作成するだけでいいですか?これが可能か実用的かどうかは私には分かりません。

4.その他..

私はこのような状況に対処するためのより良い/標準/実用的な方法を見つけたいです。私は初心者プログラマーではない。しかし、私は試行錯誤して自分自身をたくさん教えてきたので、ときどき私の方法はちょっと変わっています。

答えて

0

PyCharmプロジェクトでもある他のディレクトリツリーを参照する必要のあるプロジェクトでよく働きます。通常、私は参照をContent Rootとして追加します。プロジェクト1を開き、Preferences > Project > Project Structure > Add Content Rootに移動し、プロジェクト2のパスを追加します。

プロジェクト1とプロジェクト2の両方がView > Tool Window > Projectに表示されます。

プロジェクト1のサブディレクトリ(右クリックMark Directory As > Excluded)を除外すると、Navigateの検索でその場所のクラス、ファイル、シンボルが重複して表示されなくなります。

PyCharmは同じプロジェクト内の複数のgit reposをトラッキングするのに賢明です。Preferences > Version Controlを参照してください。お互いの中にgit reposを入れ子にしないでください。

プロジェクト1とプロジェクト2の最新の変更を比較するには、プロジェクトツールウィンドウのフォルダを選択し、右クリックしてCompare Directoriesを選択します。同期プロジェクト1と2を維持するために

@Pockets答えにより示唆されるように、あなたがオプション

  • 使用Gitのサブモジュールのカップルを持っているが、カジュアルなGitのユーザーがこのセットアップに苦労かもしれないことに注意してください。このルートに行くと、これまでの手順はすべて適用されません。

  • プロジェクト1と2を別々のレポに保管してください。プロジェクト2内でプロジェクト2を複製しないでください。1.プロジェクト2のサブフォルダへのパスをプロジェクト1の.gitignoreに追加します。プロジェクト2のコンテンツルートからプッシュし、サブフォルダにプルダウンします。これを処理するための正しい方法を使用すると、特定の言及を含むことができるようにGitのサブモジュール、であるType > Local or mounted folder

+0

ありがとうございます!私はPyCharms設定にかなり精通しているので、これはすべて私にとって意味があります。私はコンテンツルートにプロジェクト2を追加しましたが、システムリンクは実装するのが難しいでしょう。私は管理者権限のないWindowsを持っています...(プロジェクト1、サブディレクトリプロジェクト2)と(プロジェクト2)を同期する他の方法はありますか? –

+0

シンボリックリンクはWindows上のオプションではないので、私は答えを編集しました。 – mozey

+0

ありがとう!私は開発のためにWindowsを使用していると述べていたはずです。私は今日この解決法に到達することはできませんが、私がこれを試してみたらお知らせします。 –

0

1.使用PyCharm Preferences > Build, Execution, Deployment > Deployment内の2つのファイルを別のリポジトリのコミット

  • 重複プロジェクト親リポジトリR-shinyで何かを更新すると、それらの変更は手動で反映され、親リポジトリのコードがRの変更をサポートしていることを確認するまで反映されません光沢のあるもの。 tl; dr:あなたの設定は両方とも自分のreposとして、R-shinyはもう一方のサブモジュールとして含まれていなければなりません。

    サブモジュールの使用方法の詳細については、my answer hereを参照してください。

    警告:あなたはそれがバイオインフォマティクスプロジェクトだと言うので、あなたのコードを見ることができる必要がある人たちは、必ずしも最も堪能なGitユーザーではないかもしれません。周りを回ってください。

  • 関連する問題