問題タブ [git-slave]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - ブランチを使用せずに、同じベース ディレクトリに 2 つの Git リポジトリを作成する方法は?
現在、Magento Enterprise (電子商取引 Web アプリケーション) ファイルを Git に移行中です。httpdocs/.gitignore ファイルには、特に以下が含まれています。
httpdocs/ を初期化、コミット、プッシュした後、最初の Git リポジトリが正常に作成されました。ここで、前述のディレクトリの両方を独自の個別のリポジトリに配置します。(一緒に、単一のリポジトリで!) ここで遭遇する問題は、これらのディレクトリが、最初の Git リポジトリを既に含む共通のルートを共有していることです。つまり: httpdocs/
サブモジュール機能を使用して、既存のツリーのサブディレクトリ内に他のリポジトリを埋め込むことができることを読みました。ただし、kernel.orgやgit-scm.comなどのドキュメントは非常に複雑に見えるため、これが本当に進むべき道なのか疑問に思うほどです。必要なのは 2 つの別個のリポジトリだけです。たまたま同じルートを持っているだけです。
私が読んだ別の可能な解決策は、これらのディレクトリを結合するために、 app/design/frontend/company/website/ から初期化し、接ぎ木点として skin/frontend/company/website/ を追加することです。ただし、これも非常に複雑に思えます。むしろ、別のリビジョン管理システムから Git に移行するときに使用することを目的としています。
git - コミットが行われる Git サブモジュールを操作するときのオプションは何ですか?
仕事では、12 の Java OSGi バンドルに取り組んでおり、それぞれに独自の git リポジトリがあります。長い目で見れば、すべてのバンドルは互いにかなり独立しているため、個々のリポジトリが正当化されます。
製品リリース (すべてのバンドルで構成される) を作成すると、各バンドルに新しいブランチが作成されますが、これは少し面倒です。そのため、痛みを和らげるために git-submodule を使用することを考えていました ( のようなものgit submodule foreach <cmd>
)。
したがって、必要な設定はマスター プロジェクトProduct
と、各バンドルのサブモジュールです。
今、私はサブモジュールについて見つけることができるすべてを読むのに数時間を費やしました. で何かを変更する場合はBundleA
、でコミットしBundleA
、プッシュし、次にサブモジュールの変更をコミットして、Project
再度プッシュする必要があることを理解しました.
これは明らかに、そもそも git-submodule が使用されるように設計された方法ではないように思えます。このように使用するのはベストプラクティスに反しますか? それとも、代替案が好まれるケースのように聞こえますか?
- 最低限の git-submodule の使用法
- 既存の「git ラッパー」を使用する:
- OSGi バンドルをバッチ処理する独自の単純な bash スクリプトを作成する
他の提案を歓迎します。
git-submodules - Git サブモジュールに代わるものはありますか?
Git サブモジュールを使用することは、私の開発ワークフローにとって何となく面倒だと感じています。Git サブツリーと Gitslave について聞いたことがあります。
- 複数のリポジトリ プロジェクト用のツールは他にもありますか? また、それらをどのように比較しますか?
- これらのツールは Windows で実行できますか?
git - Git: 複数のリポジトリを組み合わせる
新しいプロジェクトに使用できる基本セットアップ用のリポジトリを作成しました。この基本的なセットアップは「進行中」であるため、これに関する開発は進行中です。新しいプロジェクトがある場合は、基本的なセットアップを使用して使用したいと考えています。新しいプロジェクトは、基本セットアップ内のモジュールです。
基本的なセットアップが開発されているため、更新を他のリポジトリにプッシュしたいと考えています。Git でこれを行うにはどうすればよいでしょうか。
Gitslave で何かを読みました。これでいいですか? http://gitslave.sourceforge.net/
git - Git Slave と Jenkins の統合
git-slave を jenkins と統合する最良の方法は何でしょうか? 完全なプラグインを書かずにこれを行うことは可能でしょうか? 私が取ることができるショートカットはありますか?私は複製に最も興味があります:
(1) git-slave git リポジトリまたはその子への変更に基づくビルドのポーリングと開始。
(2) 前回のビルド以降のすべてのリポジトリのコミットを出力します。
他の誰かがこの分野で何かをしたかどうかを確認するだけです。私は git-slave が好きです。平均的な scm ユーザーにとっては、他のマルチリポジトリ メソッド (つまり、git サブモジュール、git サブツリー) よりもエラーが発生しにくいように思われるからです。レポにはプラグインがあるようですが、残念ながらレポは gerrit と密接に結びついています。
windows - cygwin に Git スレーブをインストールする
Windowsのcygwinでgitスレーブを実行することは可能ですか。make
&make install
を cygwin で実行してみましたが、make install
生成されます
助言がありますか?
git - git submodules 、 gitslave 、 git subtree またはより単純なソリューション
N 個のフォルダーを持つ git リポジトリがあります。
さまざまな共同作業者と、さまざまなフォルダーを共有したいと考えています。各コラボレーターは、許可されたフォルダーのサブセットにのみアクセスできる必要があります。gitを使用してこれを達成する「良い」方法は何ですか?
答えは、使用することでしたgit submodules
。しかし、この記事を読んだ後:
https://codingkilledthecat.wordpress.com/2012/04/28/why-your-company-shouldnt-use-git-submodules/
git (これは協力者の場合ではありません) を使用する際に問題が発生しないようにするためgit submodules
です。
gitslave
、およびのようないくつかの可能な代替案について読みましgit subtree
た。gitslave
良い解決策のように見えましたが、それでも私の意見では複雑な解決策です。
これが私の簡単な解決策であり、非常に悪い欠点があるかどうかを知りたいです:
-各フォルダーの単純なリポジトリとリポジトリのリポジトリを持つ。次に、Folder1、...、FolderN のすべてのファイルをメインのリポジトリに追加します。
-globalpush スクリプト:
-globalpull スクリプト:
このソリューションの利点は次のとおりです。
1 - 誰もが理解できるシンプルなソリューション。
2 - 各フォルダに個別にアクセス権を与える可能性。
3 - 主な開発者 (Repo にアクセスできる) の場合、リポジトリ Repo は自己完結型であり、すべての履歴が含まれています (Folder1、...、FolderN のリポジトリで問題が発生した場合に備えて)。
4 - 主な開発者が特定の説明でコミットを行うと、すべてのフォルダー リポジトリに対して同じ説明のコミットが作成されます。これは、変更がない場合 (--allow-empty) であっても、もちろん完全ではありませんが、主な開発者によって提出されたバージョンを追跡するのに役立ちます。
編集 :
私が知らなかった新しいコマンドがあるようですgit subrepo
...