Отсутствует информация отслеживания для текущей ветви

Я использую 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:

enter image description here

статус 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 снова.

спасибо https://zarino.co.uk/post/git-set-upstream/


Я часто сталкиваюсь с этим точным сообщением, потому что я создаю локальные ветви через 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

немного отличаться но, надеюсь, помогает кому-то


1) ветвь git --set-upstream-to=origin/<master_branch> feature/<your_current_branch>

2) git pull


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

эта ошибка исчезнет, если вы укажете пульт, который вы хотите вытащить, как показано ниже:

git pull origin master

отметим, что origin - это имя удаленного и master - это название филиала.


1) Как проверить имя пульта

git remote -v

2) Как посмотреть, какие ветви доступны в репозитории.

git branch -r