問題タブ [git-subrepo]
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 - 1 つのディレクトリに 2 つの git リポジトリがありますか?
1 つのディレクトリに 2 つの git リポジトリを配置することは可能ですか? ないと思いますが、聞いてみようと思いました。基本的に、作業しているすべてのマシンで共通のホーム ディレクトリ構成ファイル (.emacs など) をチェックインしたいのですが、ローカル ファイル (.emacs.local など) 用の 2 つ目のリポジトリが必要です。マシン固有の構成。私が考えることができる唯一の方法は、ローカル構成をサブディレクトリに置き、メインの git リポジトリからそのサブディレクトリを無視することです。他のアイデアはありますか?
git-submodules - Git サブモジュールに代わるものはありますか?
Git サブモジュールを使用することは、私の開発ワークフローにとって何となく面倒だと感じています。Git サブツリーと Gitslave について聞いたことがあります。
- 複数のリポジトリ プロジェクト用のツールは他にもありますか? また、それらをどのように比較しますか?
- これらのツールは Windows で実行できますか?
version-control - git サブツリーを削除して git subrepo を追加します
model
プロジェクトの( M
in MVC
) が削除され、別のリポジトリにデポジットされた Git リポジトリがありました。それから私はそれをマージして戻しましたgit-subtree
。だから私は
models
ブランチと私が思うのはリモート追跡ブランチremotes/models/master
remotes/models/models
です。
ここで、このサブツリーのことを完全に消したいので、通常の完全なリポジトリに戻すことができます。これで、git-subtree を使い始めることができます。git-subtree の遺物を削除するにはどうすればよいですか?
ローカル ブランチとリモート ブランチを削除しようとしました。しかし、リモート/モデル/マスターを削除できませんgit push models --delete master
。と言いました:
編集:
model
そのレポへの参照を削除したいだけだと思います。後でそのリモート プロジェクトを Bitbucket から手動で削除できます。
git - 他のプロジェクトで作業するための「スターター キット」をバージョン化する
私のプロジェクトはすべて、同じ構造の基本ファイル (それぞれにいくつかのコードが含まれています) を持っています。
私が欲しいもの:
- このコードにバージョンを付けます。
- 他のプロジェクトで使用します。
- それらのプロジェクトで更新できるようにします。
- これらのファイルには、各プロジェクトに固有のコードのみを追加します (既存のコードを削除または変更する必要はありません)。
私はいくつかの研究をしました。パッケージにコードを追加したいので、パッケージ マネージャーの使用は私のニーズには合いません。次に、git サブモジュールとサブツリーを見つけましたが、後者が機能しているようです。
あなたはそれについてどう思いますか ?サブツリーを選択して正しい道を進んでいますか、それともより良い方法がありますか? 完全に別のソリューションを使用する必要がありますか?
みんなありがとう
[編集]
詳細情報:
この「スターター キット」はフレームワークのようなものです。他のプロジェクトでファイルを編集する必要はありませんが、制約が追加される方法でビルドすることを検討しています。
- コードで作業する必要があるため、サブモジュールは適合しないと思います。
- 各プロジェクトには独自のリポジトリが必要です。
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
...
git-svn - ネストされた svn:externals を使用した svn から git への移行
svn externals を使用した svn から git への移行。各 svn externals には、独自の svn:externals がある場合があります。ここには、svn を外部と一緒に git に移行する方法に関するガイドはありません。各ブランチには、独自のブランチ タグ トランクがあります。リポジトリ全体を移行する最善の方法は何ですか? メイン リポジトリの git svn clone に git サブモジュールを追加し、それぞれの外部クローンも見ています。しかし、外観が入れ子になっているため、最善の解決策がわかりません。今まで使用したスクリプト: