Git - объединить ветку одного репо с веткой другого репо - PullRequest
0 голосов
/ 04 октября 2018

У меня есть два репо, и я хотел объединить обновления из одного репо в другое.Я сделал следующее и получил «Уже в курсе»

$ ls
dev qa

$ cd dev
$ git branch
* master
  temp-branch

$ cd ../
$ cd qa
$ git remote add dev ../dev
$ git remote update
Fetching origin
Fetching dev
From ../dev
 * [new branch]      master      -> dev/master
 * [new branch]      temp-branch -> dev/temp-branch

Затем я создаю локальную ветку на qa

$ git checkout -b temp-branch
Switched to a new branch 'temp-branch'
$ git merge dev/temp-branch
Already up to date.

В dev/temp-branch есть обновление, которое qa/temp-branch не имеет егоХотя код другой, почему я получаю Already up to date?

Я делаю это неправильно?Если да, каков наилучший способ сделать это?

Спасибо!

1 Ответ

0 голосов
/ 04 октября 2018

Git «полезен» и настроил ваш локальный temp-branch для отслеживания удаленного dev/temp-branch.

В соответствии с документацией :

git checkout branch

Если ветвь не найдена, но существует отслеживающая ветвь ровно в одном удаленном (называйте его удаленным) с соответствующим именем, трактуйте как

git checkout -b branch --track remote/branch

Вы можетепросмотреть все ответвления и их ответвления с помощью команды:

git branch -vv

С примером вывода:

master       <commitId> [origin/master] Commit Message
temp-branch  <commitId> [origin/temp-branch] Commit Message
no-upstream  <commitId> Commit Message

Если вы хотите предотвратить это поведение, вы должны использовать --no-track флаг при создании ветки.

git checkout -b branch --no-track

Чтобы исправить текущее состояние, я рекомендую вам удалить и воссоздать вашу локальную временную ветвь.

  1. git checkout master // Переключиться на локальный мастер
  2. git branch -d temp-branch // Удалить локальную ветвь
  3. git checkout -b temp-branch --no-track // Воссоздать ветку без восходящего потока

На этом этапе вам следуетбыть в нужном вам состоянии - но вы можете сделать это с помощью команды git branch -vv, указанной выше

...