回答:
リポジトリをブランチにマージすることはできません。あなたはマージすることができブランチに別のリポジトリからのブランチローカルリポジトリに。2つのリポジトリがfoo
あり、bar
どちらも現在のディレクトリにあると仮定します。
$ ls
foo bar
foo
リポジトリに変更します。
$ cd foo
bar
リポジトリをリモートとして追加してフェッチします。
$ git remote add bar ../bar
$ git remote update
現在のブランチが何であるかに基づいてbaz
、foo
リポジトリに新しいブランチを作成します。
$ git checkout -b baz
リポジトリのブランチsomebranch
をbar
現在のブランチにマージします。
$ git merge --allow-unrelated-histories bar/somebranch
(--allow-unrelated-histories
gitバージョン2.9より前のバージョンでは必要ありません)
「実際の」コマンドで更新:
repoディレクトリから始めて、作業コピーがクリーンであることを確認してください(ファイルが変更、追加、削除されていない)。
新しいブランチを作る:
git checkout -b <my-branch>
セカンダリリモートを追加し、それをフェッチします。
git remote add <repo-name> git@github.com:xxx/<repo-name>.git
git remote update
ブランチの1つを現在のブランチにマージします。
git merge <repo-name>/<their-branch>
どちら<their-branch>
が欲しいかわからない場合は、master
すべてのリモート変更を受け入れ、競合を回避する(自分のものを上書きする)ことが確実な場合は、最後のステップでの-X theirs
オプションとして指定できますgit merge
。
サブディレクトリに追加する場合は、おそらくgitサブモジュールを使用する必要があります
ラスクのガイドを使用して、SourceTreeを使用してこれを行うことができました。
--allow-unrelated-histories
git mergeコマンドに追加する必要があります。