私はAngularJS Webアプリケーションに含まれるgit repoを持っています。別のgitリポジトリ内でGitリポジトリを維持する
gulpタスクによって作成されるbuildというサブフォルダがあります。 Azureにデプロイしているので、直接bitbucketディレクトリに接続しています。
私は、Azureアプリケーションがデプロイされている個別のgitリポジトリとしてビルドフォルダを作成したいと考えています。私はGitでこれをどのように達成するのですか?
私はAngularJS Webアプリケーションに含まれるgit repoを持っています。別のgitリポジトリ内でGitリポジトリを維持する
gulpタスクによって作成されるbuildというサブフォルダがあります。 Azureにデプロイしているので、直接bitbucketディレクトリに接続しています。
私は、Azureアプリケーションがデプロイされている個別のgitリポジトリとしてビルドフォルダを作成したいと考えています。私はGitでこれをどのように達成するのですか?
あなたのようないくつかのオプションがあります:
Submodules
外国リポジトリを許可しますソースツリーの専用サブディレクトリに埋め込まれ、常に特定のコミットを指します。
git submodule
git submodule add <url>
を:
は今使用して、あなたの主なプロジェクトの各サブプロジェクトを追加します。
git submodule init
git submodule update
Git 1.8。2新しいオプション--remote
は
fetch
各サブモジュールの上流から最新の変更、merge them in
git submodule update --remote --merge
、およびcheck out
サブモジュールの最新版を追加しました。 the docsとして
はそれを説明します。
--remote
このオプションは、更新コマンドに対してのみ有効です。スーパープロジェクトの記録したSHA-1を使用してサブモジュールを更新する代わりに、サブモジュールのリモート追跡ブランチのステータスを使用します。
これは、各サブモジュールでgit pullを実行するのと同じです。
しかし、どのように私は、親の層で共有コードに影響を及ぼしCでのバグ修正のシナリオにコミット押すでしょうか?再び
:サブモジュールを使用すると、その内容の一部として、メインプロジェクト内にコードを配置します。フォルダ内にローカルに有するか、またはサブモジュールの一部としてそれを有するとの差がサブモジュールにコンテンツが異なるスタンドアロン・リポジトリに(コミット)に管理されることです。
これは、各プロジェクトがスタンドアロンプロジェクトである別のプロジェクト内のsubmodule-projectの図です。
git subtree
Gitのサブツリーは、あなたがに非常に類似した別の1
のサブディレクトリとして任意のリポジトリを挿入することができます0が主な違いは、あなたのコードが管理されている場所です。サブモジュールでは、コンテンツは別のレポに配置され、そこで管理され、他のレポにも複製することができます。
subtree
ルートプロジェクトの一環としてではなく、別のプロジェクトでコンテンツを管理しています。代わりにそれを設定すると、あなたは、単にそれをすべて説明します。この優れた記事を読むことができ、それを使用する方法を理解する方法を書き留めるの
。
https://developer.atlassian.com/blog/2015/05/the-power-of-git-subtree/
https://stackoverflow.com/questions/47008290/how-to-make-outer-repository-and-embedded-repository-work-as-common-standalone-に記載されているように、サブモジュールとサブツリーがない他のソリューションはありますか? r? – Mithril
gitサブモジュールまたはサブツリーでこれを行うことができます。このような理由でサブモジュールを使用します。
https://git-scm.com/docs/git-submodule
例:
/mainrepository
/mainrepository/subrepository
cd /mainrepository/subrepository;
git init .
cd ../
git submodule add ./subrepository
then open seperate remote repository in bit bucket then
cd into ./subrepository
git remote add origin https://bitbucket.com/path/to/subrepository.git
基本的にはすべてのことについてです。
私が知っているサブツリーに関する詳細な情報はありません。サブモジュールよりも高度です。しかし、あなたのニーズが基本的にサブモジュールと一致すれば、維持するのは簡単です。
外側のレポが内側のレポの同じ枝を指すように......どのように私はこれを達成するのですか –
メインリポジトリとサブモジュールは2つの異なるリポジトリなので、分岐はリポジトリに基づいているため、この。しかし、メインリポジトリは、サブモジュールとしてリポジトリを追加するときにサブモジュールのコミットハッシュを追跡しているので、メインリポジトリに表示されるサブモジュールのブランチを追加すると、サブモジュールの最後のコミットハッシュが変更されます。したがって、基本的にメインブランチもサブモジュールに従います。しかし、それは分岐についてではありません。それでなぜあなたはそれを必要としますか?特別なアプローチはありますか? – FZE
私はhttps://git-scm.com/book/en/v2/Git-([サブモジュール]がここで起こって過剰性能いくつかはあるが、あなたはgitのになるはずこっそり疑いを持っていますツール - サブモジュール) –
[git repoを別のgitリポジトリ内に維持する]の複製が可能です。(http://stackoverflow.com/questions/4659549/maintain-git-repo-inside-another-git-repo) –