Слить репозиторий Git в ветке другого РЕПО
учитывая РЕПО Foo и РЕПО бар. Я хочу объединить бар с Foo, но только в отдельную ветку, под названием baz
.
git checkout -b baz
2 ответа:
вы не можете объединить a хранилище на филиала. Вы можете объединить филиала из другого репозитория в филиала в вашем локальном репозитории. Предполагая, что у вас есть два репозитория,
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)
обновлено с помощью команд" real-life":
начните с вашего каталога РЕПО, убедитесь, что ваша рабочая копия чиста (нет файлов, измененных, добавленных или удаленных).
создать новую ветку:
git checkout -b <my-branch>
добавить вторичный пульт дистанционного управления, а затем извлечь его:
git remote add <repo-name> git@github.com:xxx/<repo-name>.git git remote update
объединить одну из своих ветвей в вашей текущей ветви:
git merge <repo-name>/<their-branch>
если вы не знаете, какой
<their-branch>
хочешь, тогда впередmaster
если вы уверены, что хотите принять все удаленные изменения и избежать конфликтов (перезаписать ваши), то вы можете указать
-X theirs
как вариантgit merge
в последнем шаге.если вы хотите добавить его в подкаталог, то, вероятно, вы должны, вероятно, использовать git подмодули