Для текущей ветки нет информации об отслеживании
Я использую 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/...
Ответ 8
С Git 2.24 вам не придется делать
git branch --set-upstream-to=origin/master master
git pull
Вы сможете сделать:
git pull --set-upstream-to=origin/master master
Подробнее см. в разделе "пульт дистанционного управления и ответвление по умолчанию с использованием опции -u
- работает с push
, но не с pull
" ".