Отсутствует информация отслеживания для текущей ветви
Я использую github с относительно короткого периода, и я всегда использовал клиента для выполнения коммитов и тянет. Вчера я решил попробовать его из Git bash, и я успешно создал новое РЕПО и зафиксировал файлы.
сегодня я внес изменения в репозиторий с другого компьютера, я внес изменения, и теперь я вернулся домой и выполнил git pull
обновить свою локальную версию и я получаю это:
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream develop origin/<branch>
единственный вкладчик в это РЕПО-это я и нет ветвей (только мастер). Я на windows, и я выполнил тянуть из Git bash:
статус git:
$ git status
# On branch master
nothing to commit, working directory clean
git филиал:
$ git branch
* master
что я делаю не так?
6 ответов
Вы можете указать, какую ветку вы хотите тянуть:
git pull origin master
или вы можете настроить его так, чтобы ваша локальная главная ветвь отслеживала главную ветвь github как восходящую:
git branch --set-upstream-to=origin/master master
git pull
это отслеживание ветвей настраивается автоматически при клонировании репозитория (только для ветви по умолчанию), но если вы добавляете пульт в существующий репозиторий, вы должны настроить отслеживание самостоятельно. К счастью, совет, данный git, делает это довольно легко вспомнить, как делать.
посмотреть: git checkout tag, git pull терпит неудачу в ветке
если бы мне нужно делать это все время, вы можете создать псевдоним, чтобы сделать это автоматически, добавляя следующий код :
[alias]
set-upstream = !git branch --set-upstream-to=origin/`git symbolic-ref --short HEAD`
когда вы видите , просто запустите git set-upstream
, потом git push
снова.
Я часто сталкиваюсь с этим точным сообщением, потому что я создаю локальные ветви через git checkout -b <feature-branch-name>
без предварительного создания удаленного филиала.
после того, как все работы были закончены и совершены локально исправлять git push -u
который создал удаленную ветку, толкнул всю мою работу, а затем URL-адрес запроса слияния.
Я пробовал приведенные выше примеры и не мог синхронизировать их с веткой (не-master), которую я создал на другом компьютере. Для фона я создал этот репозиторий на компьютере A (git v 1.8), а затем клонировал репозиторий на компьютер B (git 2.14). Я сделал все мои изменения на comp B, но когда я попытался вытащить изменения на компьютер A, я не смог этого сделать, получив ту же ошибку выше. Подобно вышеуказанным решениям, мне пришлось сделать:
git branch --set-upstream-to=origin/<my_repository_name>
git pull
немного отличаться но, надеюсь, помогает кому-то
ответ ComputerDruid велик, но я не думаю, что необходимо устанавливать вверх по течению вручную, если вы не хотите. Я добавляю этот ответ, потому что люди могут подумать, что это необходимый шаг.
эта ошибка исчезнет, если вы укажете пульт, который вы хотите вытащить, как показано ниже:
git pull origin master
отметим, что origin
- это имя удаленного и master
- это название филиала.
1) Как проверить имя пульта
git remote -v
2) Как посмотреть, какие ветви доступны в репозитории.
git branch -r