SmartGit pull не действует так, как ожидалось

Я раздвоил репозиторий на GitHub.

затем я клонировал свою вилку в папку на моей локальной среде разработки через SmartGit. Кроме того, я добавил исходный репозиторий в качестве удаленного.

Итак, исходный репозиторий добавил и изменил некоторые файлы. Я хотел бы получить их, чтобы я был в курсе, прежде чем продолжить разработку.

I нажмите кнопку Pull в SmartGit и выберите исходный РЕПО i диалоговое окно. SmartGit возвращает это я:

remote: Counting objects: 24, done.
remote: Total 13 (delta 7), reused 12 (delta 6)
From github.com:Original/repo
 * [new branch]      master     -> lm/master

но, добавил файлы и изменения не добавляются в мой локальный репозиторий. Делать это вручную с помощью Git Bash -git pull original master все работает, как ожидалось.

почему SmartGit не тянет, как я ожидаю?

4 ответов


On тянуть, SmartGit выполнит "git fetch" и после этого объединит resp. rebase отслеживаются филиала. В твоем случае, master трассы origin/master, а не lm/master. Теперь у вас есть следующие варианты, всегда предполагая, что вы находитесь на master:

(1) настроить master на трассе lm/master вместо origin/master: invoke Филиала|Менеджера Филиала выберите master, invoke Сброс Гусеничной Филиала из контекстного меню, а затем добавить lm/master для выбора и вызова Установить Отслеживаемую Ветку. Теперь это lm/master который будет объединен (или перезагружен) на каждом тянуть.

(2) ручное слияние lm/master: invoke Филиал|Слияния и выберите lm/master.

(3) вручную перебазировать на lm/master: invoke Branch|Rebase выберите голова к выбранным коммит и на странице графика выберите lm / master.


то, что я сделал в SmartGit, было:

  • Remote > Add (Как вы сделали). Я назвал свое вверх.
  • в группе отделения Right click upstream > fetch more.. и выберите филиалов. (Обычно мастер)
  • в группе отделения Double click upstream > master. Это попросит вас создать 2-ю ветку (обычно master-2). Я также назвал это вверх. Поэтому у меня есть удаленное РЕПО, называемое upstream, и локальная ветвь, называемая upstream, которая отслеживает вверх по течению / master.
  • в группе отделения Double click Local Branches > Master чтобы вернуть вас к вашей главной ветви.

на данный момент я бы предположил, что вы только что разветвили проект несколько минут назад, поэтому следующий шаг не будет очень полезным, но если есть несколько дополнительных коммитов на более позднем этапе, вам нужно будет это сделать.

  • Remote > Pull и выберите вверх. Если вы нажмете маленькую стрелку вниз, вы увидите, что можете только do "Ни объединить, ни перебазировать". Это хорошо.
  • Click fetch Это позволит вам увидеть весь журнал и то, что изменилось.
  • в филиале Группы Right click Local Branches > upstream > Merge.
  • Fast-Forward если вы считаете, что можете. (Мой любимый способ).
  • или Create Merge-Commit.

С этого момента вам нужно будет сделать только последние 5 шагов. Первые шаги были просто настроены.


вы увидите новые файлы, если ветка вверх по течению из вашего текущего местного отделения было "lm/master".
Но если вы на master, его восходящая ветвь, безусловно, по умолчанию"origin/master" (т. е. master вилку)

если вы хотите объединить файлы из исходного РЕПО, выполните команду с

git merge lm/master

или в SmartGit, объединить С lm/master С вашей текущей веткой.


Если SmartGit выполняет Fetch на тянуть,

затем найдите опцию ветви в строке меню или окне ветви из приложения.. enter image description here

затем

enter image description here

или

enter image description here

вуаля... Наслаждайтесь