タグ付けされた質問 「git-subtree」

25
サブディレクトリを別のGitリポジトリにデタッチ(移動)する
私が持っているGitのサブディレクトリの数を含むリポジトリを。ここで、サブディレクトリの1つが他のサブディレクトリとは無関係であり、別のリポジトリに分離する必要があることがわかりました。 サブディレクトリ内のファイルの履歴を保持しながらこれを行うにはどうすればよいですか? クローンを作成して、各クローンの不要な部分を削除することはできると思いますが、これにより、古いリビジョンなどをチェックアウトしたときに完全なツリーが得られると思います。これは許容できるかもしれませんが、 2つのリポジトリには共有履歴がありません。 明確にするために、私は次のような構造になっています。 XYZ/ .git/ XY1/ ABC/ XY2/ しかし、私は代わりにこれを望みます: XYZ/ .git/ XY1/ XY2/ ABC/ .git/ ABC/

22
2つのGitリポジトリをどのようにマージしますか?
次のシナリオを検討してください。 独自のGitリポジトリで小規模な実験プロジェクトAを開発しました。現在は成熟しており、Aは、独自の大きなリポジトリを持つ大規模なプロジェクトBの一部になりたいと考えています。次に、AをBのサブディレクトリとして追加します。 どのようにしても履歴を失うことなく、AをBにマージするにはどうすればよいですか?


8
ファイル履歴を壊さずに2つのGitリポジトリをマージする
2つのGitリポジトリをまったく新しい3番目のリポジトリにマージする必要があります。サブツリーのマージを使用してこれを行う方法の多くの説明を見つけました(たとえば、Jakub Nar mergebskiの2つのGitリポジトリをどのようにマージしますか?)古いリポジトリからのファイルは、新しい追加ファイルとして記録されます。実行すると、古いリポジトリのコミット履歴を表示できますが、表示すると、そのファイルの1つのコミット(サブツリーマージ)しか表示されgit logませんgit log <file>。上記の回答に対するコメントから判断すると、この問題を目にしたのは私だけではありませんが、その解決策は公開されていません。 リポジトリをマージして個々のファイル履歴をそのままにしておく方法はありますか?
226 git  git-subtree 

12
この最新のGitサブツリーをプッシュできないのはなぜですか?
それらの間でいくつかの基本コードを共有するために、私が取り組んでいるいくつかのプロジェクトでGitサブツリーを使用しています。基本コードは頻繁に更新され、いずれのプロジェクトでもアップグレードが行われ、最終的にはすべてが更新されます。 サブツリーが最新であるとgitが報告する問題に遭遇しましたが、プッシュは拒否されます。例えば: #! git subtree pull --prefix=public/shared project-shared master From github.com:**** * branch master -> FETCH_HEAD Already up-to-date. プッシュすると、何もプッシュしないというメッセージが表示されます... 正しい?:( #! git subtree push --prefix=public/shared project-shared master git push using: project-shared master To git@github.com:*** ! [rejected] 72a6157733c4e0bf22f72b443e4ad3be0bc555ce -> master (non-fast-forward) error: failed to push some refs to 'git@github.com:***' hint: Updates …
88 git  git-subtree 

5
Gitサブモジュールの代替?
Gitサブモジュールを使用することは、私の開発ワークフローにとってどういうわけか面倒だと感じています。GitサブツリーとGitslaveについて聞いたことがあります。 複数のリポジトリプロジェクト用のツールは他にもありますか?また、それらをどのように比較しますか? これらのツールはWindowsで実行できますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.