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

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

Единственный вкладчик в это репо - это я, и нет ветвей (просто мастера). Я нахожусь в окнах, и я выполнил растягивание с git bash:

введите описание изображения здесь

git статус:

$ git status
# On branch master
nothing to commit, working directory clean

git ветвь:

$ git branch
* master

Что я делаю неправильно?

Ответ 1

Вы можете указать, какую ветку вы хотите вытащить:

git pull origin master

Или вы можете настроить его таким образом, чтобы локальная главная ветвь отслеживала ветку ведущего устройства github в качестве восходящего потока:

git branch --set-upstream-to=origin/master master
git pull

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

Ответ 2

Смотрите: тег git checkout, сбой git в ветке

Если, как и я, вам нужно делать это все время, вы можете настроить псевдоним, чтобы делать это автоматически, добавив в файл .gitconfig следующее:

[alias]
    set-upstream = \
       !git branch \
           --set-upstream-to=origin/'git symbolic-ref --short HEAD'

Когда вы увидите сообщение There is no tracking information..., запустите:

 git set-upstream
 git push

Благодаря https://zarino.co.uk/post/git-set-upstream/

Ответ 3

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

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

git pull origin master

Обратите внимание, что origin - это имя пульта, а master - это имя ветки.


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

git remote -v

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

git branch -r

Ответ 4

Я часто сталкиваюсь с этим точным сообщением, потому что я создаю локальные ветки через git checkout -b <feature-branch-name> без предварительного создания удаленной ветки.

После завершения работы и исправления локально исправление было git push -u, которое создало удаленное отделение, нажало всю мою работу, а затем URL-адрес слияния.

Ответ 5

Я пробовал приведенные выше примеры и не смог заставить их синхронизироваться с веткой (не главной), которую я создал на другом компьютере. Для фона я создал этот репозиторий на компьютере A (git v 1.8), а затем клонировал репозиторий на компьютер B (git 2.14). Я внес все свои изменения в композицию B, но когда я попытался перенести эти изменения на компьютер A, я не смог этого сделать, получив ту же ошибку выше. Подобно приведенным выше решениям, мне пришлось сделать:

git branch --set-upstream-to=origin/<my_repository_name> 
git pull

немного по-другому, но, надеюсь, поможет кому-то

Ответ 6

1) git branch --set-upstream-to = origin/функция <master_branch>/<your_current_branch>

2) мерзавец

Ответ 7

попробуйте

   git pull --rebase

надеюсь, что этот ответ поможет первоначально ответил здесь fooobar.com/questions/46649/...