Слить репозиторий 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 подмодули