質問

利用したい人気のオープンソースの問題追跡システム(Redmineるには、gitを統合しました。残念ながら、それぞれのプロジェクトをトラッカーでに関連付けられgit呼ぶ。を複数のプロジェクトをトラッカーにはない自分の理想で設定します。

その上で、また利用gitサブツリーの融合(説明 こちらの, は、 こちらの).私の"傘"レポ-レートが合併し、他の多くのレポる仕事をしています。

残念ながら、事例のみを引きのマスターブのサブツリー.せっかく開発が進複数の支店の各サブツリーにてお願いいたしかにこの傘レポ反映して、各支店の各サブツリー.

可能ですか?

追加:どの場合は2ツそれぞれの支店と同じでしょうか。

役に立ちましたか?

解決

私たちに馴染みのなRedmine,伸ばしてくださいご説明を以下のような問いに答え:どのようなアクセスのリポジトリにトラッカーは必要ですか?まで作り上げていくのと同時に犯?はなく特定の種類の読み込みアクセスもに検証するコミットハッシュ、スキャンのコミットログのためのキーワード?

場合はトラッカーのみのニーズを読みアクセスは必要ないかもしれませんが、他のサブツリーを統合。では完全に受け入れられる複数の初期犯(複数の独立歴史)単一リポジトリのGitプロジェクトそのものはこのため一部のエキストラ'(, html, todo)株式(コミット)の歴史とが出版とのセットの支店のソースコードmaint, マスター, 次へ, pu).お客様の特定の目的のために、十分な設定を遠隔での各サブ-リポジトリの取得その支のヒントへの集約できます。(粉を山にして真ん中を自動リモート追跡拠についてどのように、かすかにステップの作成(更新)地方支店に基づくリモート追跡す。

のサブツリーを統合スキームについて説明していただけまはどのように変動するという意味のある一般の店舗は、ソースリポジトリに関係しなや準にします。でも、すべてのソースリポジトリの共有セットの支店の各支店ではご使用になる皆様の目的には同じすべてのリポジトリに思有意義に合併しそうになったスーパー-リポジトリ

しかし、より興味深い問題ではない"うなればリポジトリにおいて支店と同じか", が"どうしてそのような取扱いとなる場合のリポジトリには欠から、"グローバル'す。".

すべてのサブ-リポジトリが同じセットの店舗だけでいうと、また マスター, くれます。の問題が特定の支店には欠からリポジトリきの代替その マスター, もすることを通じて達成され、右の答えです。ではなぜで集計のリポジトリとは何を期待するとそのサブツリーの支店、スーパー-リポジトリ

場合のリポジトリ ない には密接な関係があり、その後は本当に私の疑問に合理性がこのサブツリーます。このようなアプローチのための関リポジトリを感じうちの粒'.であろうことができるものか疑問があるのをサポートするためのツールや必要なものに時間が企画のコーナー。

ってしまったとき"こだわりサブツリーが合併すが、第三者 git subtree コマンドです。もに維持するための多くのリポジトリを同期させます。


収支店、合流

まRedmineを指定し --mirror クローンの含意は期待で現地支店のできるわけでもないということで直接読みのリモート追跡brachesので、必作成および更新一部の地方支店とする。

地元の店にもかかわらリモート追跡拠
  • 初期セットアップ

    mkdir $COLLECTION_REPO && cd $COLLECTION_REPO &&
    git init
    git remote add alpha <url/path-to-alpha-repo>
    git remote add bravo <url/path-to-bravo-repo>
    git remote add charlie <url/path-to-charlie-repo>
    for r in $(git remote); do
        git config --add remote.$r.fetch \
          "$(git config remote.$r.fetch | sed -e 's.heads.tags.;s.remotes.tags/all.')"
        git config remote.$r.tagopt --no-tags
    done
    
  • 定期的に更新

    git remote update
    git for-each-ref --shell --format \
      'git branch --force --track -l all/%(refname:short) %(refname:short)' refs/remotes \
      | sh
    
地方に支店を直接受取支店のヒント
  • 初期セットアップ

    mkdir $COLLECTION_REPO && cd $COLLECTION_REPO &&
    git init
    git remote add alpha <url/path-to-alpha-repo>
    git remote add bravo <url/path-to-bravo-repo>
    git remote add charlie <url/path-to-charlie-repo>
    for r in $(git remote); do
        git config remote.$r.fetch \
          "$(git config remote.$r.fetch | sed -e 's.remotes.heads/all.')"
        git config --add remote.$r.fetch \
          "$(git config remote.$r.fetch | sed -e 's.heads.tags.g')"
        git config remote.$r.tagopt --no-tags
    done
    
  • 定期的に更新

    git remote update
    

両方の方法で終わ収支店 refs/heads/all/<remote-name>/<branch-name-on-remote>, が、初のものの複製のヒ下 refs/remotes/<remote-name>/<branch-name-on-remote>.最初の使用通常のフェッチrefspec用 git branch 複製のリモート追跡店'(refs/remotes/…)では、通常の店舗にrefs/heads/all/…).第一カスタムrefspecの取得refの先ref上位の階層となります。

方法によってはアップデートを求取得にこの複合リポジトリにすべきではありませんあなたは本当に優しい直接利用す:無犯した直接支店では、押します。ばっくする為の"や"にちじ"で現在プへの支店の方に従うをふっしょくすることが次回更新は行われます。

まRedmineに対応でき裸のリポジトリは、使用をお勧めします。使用 git init --bare やレポ-レート名を終了する。git.も git config core.logAllRefUpdates true う(このデフォルト値はfalseで裸のリポジトリ).

他の all/ におけるプレフィックスの名前空間、別の違いこのアプローチとフル --mirror クローンはヒ外 refs/headsrefs/tags 回収はいたしません。その他の共通refsる"地域"へのリポジトリであるかないコピーによる通常のクローン).一部、その他のrefは"リモート追跡店'(refs/remotesあ'両分'の記録(refs/bisect), git filter-branch "元の"refのバックアップ(refs/original)、など。うになっているという重要なRedmine.もし話していれば、あなたはそれらに付属の追加refspecs.

を追加する為の初期

アジア太平洋トレー支店、新たな初期コミット参照 GitTipsページの作成方法に新たに支店がないもの祖先.二つのレシピへの参加を希望するリポジトリから押上または取得の支店を通った後、通常のinit/追加/commitステップ(その上のレシピな自動化)となっていました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top