1

という名前のリモート サーバーに git リポジトリが 1 つだけありますが、allinone実際にはproj1proj2、などの複数のプロジェクトがproj3あり、これらすべてのプロジェクトを次のように に保存しますallinone

allinone
 |- .git
 |-  proj1/
 |-  proj2/
 |-  proj3/

これがどのように進むかです(可能な場合):

  1. allinonegit リポジトリを作成しました
  2. 私はproj1git リポジトリを作成し、いくつかの開発、コミット、および完了を行いました。
  3. リポジトリにproj1ブランチを作成し、すべてのコミット ログとともにのブランチに「インポート」しました。allinone proj1allinoneproj1
  4. proj2、proj3 も同様です。
  5. 後で、proj1 ブランチを独立したディレクトリにチェックアウトできます。

出来ますか?または何か提案はありますか?別のレポを購入したくありません。

4

2 に答える 2

1

Git 自体は、リポジトリ内のブランチ間に関係があることを必要としません。したがって、必要な数のローカル リポジトリを作成し、それらすべてを 1 つのリモート リポジトリにプッシュすることができます。各ローカル リポジトリで使用される refspec を慎重に設定すると、ローカル リポジトリごとに個別のリモートがあるように見えることさえあります。

ただし、特にリポジトリごとに課金している場合は、使用しているプロバイダーがそのタイプの使用をチェックする可能性があります。

代わりに、プロジェクトごとに個別のリモート リポジトリを用意する方法を見つければ、問題が発生する可能性ははるかに低くなります。git wiki には、ホスティング サイトのリストがあり、そのうちの多くはプライベート リポジトリを無料でホスティングできます。

于 2013-04-17T04:18:03.870 に答える
0

これは悪いアーキテクチャです。このようにレポを管理することで、あなたは自分自身を殺しています。

プロジェクトごとに複数のリポジトリを持つ正当な理由は決してないことがわかりました。

それらのレポをすべて常にマージして最新の状態に保つ必要があるとはどういうことか想像することしかできません。

「プロジェクト」ごとに個別のブランチを作成するだけでよいように思えます。これにより、履歴、ワークフローをより簡単に維持し、マージを減らすことができます。ただし、何をしても、プロジェクト内でマージの競合が発生する大きな機会を残さなければならないため、これにも欠陥があります。もし私があなただったら、あなたの「allinone」リポジトリに切り詰めるためにできる限りのことをし、特定の「プロジェクト」に関連する作業をしているときに機能ブランチをチェックアウトすることでそれを管理します.

頑張ってください!

于 2013-04-17T04:12:27.483 に答える