Ответ заключается в том, что ваше предположение неверно. Деструктор базового класса нельзя вызывать, когда он является приватным.
Под [branch "master"]
, попытайтесь добавить следующее к файлу конфигурации Мерзавца repo (.git/config
):
[branch "master"]
remote = origin
merge = refs/heads/master
Это говорит Мерзавцу 2 вещи:
git pull
на основном ответвлении, без удаленного и определенного ответвления, используют значение по умолчанию, удаленное (источник) и слияние в изменениях от удаленного основного ответвления. я не уверен, почему эта установка была бы удалена из Вашей конфигурации, все же. Вам, вероятно, придется следовать за предположениями, что другие люди отправили также, но это может работать (или помочь, по крайней мере).
, Если Вы не хотите редактировать файл конфигурации вручную, можно использовать инструмент командной строки вместо этого:
$ git config branch.master.remote origin
$ git config branch.master.merge refs/heads/master
Ваш непосредственный вопрос того, как заставить его вытянуть ведущее устройство, необходимо сделать то, что это говорит. Определите refspec для получения по запросу от в конфигурации ответвления.
[branch "master"]
merge = refs/heads/master
получение по запросу Мерзавца объединения два действия - выборка новых фиксаций из удаленного репозитория в отслеженных ответвлениях и затем слиянии их в Ваше текущее ответвление .
при проверке конкретной фиксации у Вас нет текущего ответвления, у Вас только есть ГОЛОВА, указывающая на последнюю фиксацию, которую Вы сделали. Так git pull
не имеет всех его параметров определенными. Вот почему это не работало.
На основе Вашей обновленной информации, что Вы пытаетесь сделать, возвращаются Ваш удаленный repo. Если Вы знаете фиксацию, которая представила ошибку, самый легкий способ обработать, это с git revert
, который записывает новую фиксацию, которая отменяет указанную ошибочную фиксацию:
$ git checkout master
$ git reflog #to find the SHA1 of buggy commit, say b12345
$ git revert b12345
$ git pull
$ git push
, Так как это - Ваш сервер, который Вы желаете изменить, я предположу, что Вы не должны переписывать историю для сокрытия ошибочной фиксации.
, Если ошибка была представлена в фиксации слияния, то эта процедура не будет работать. См. How-to-revert-a-faulty-merge.
Просто требуемый для добавления некоторой информации, что, мы можем проверить эту информацию, относится ли git pull
автоматически к какому-либо ответвлению или нет.
, Если Вы выполняете команду, git remote show origin
, (принятие источника как краткое название для удаленного), мерзавец показывает эту информацию, существует ли какая-либо ссылка по умолчанию для git pull
или нет.
Ниже демонстрационный вывод. (взятый из документации мерзавца).
$ git remote show origin
* remote origin
Fetch URL: https://github.com/schacon/ticgit
Push URL: https://github.com/schacon/ticgit
HEAD branch: master
Remote branches:
master tracked
dev-branch tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)
отметьте часть, где она показывает, Локальное ответвление, настроенное для получения по запросу мерзавца.
В этом случае, git pull
будет относиться к git pull origin master
Первоначально, если Вы клонировали репозиторий, с помощью клона мерзавца, эти вещи автоматически заботятся о. Но если Вы добавили, что удаленный вручную использующий удаленный мерзавец добавляет, они отсутствуют в конфигурации мерзавца. Если это так, затем часть, где это показывает "Локальное ответвление, настроенное для 'получения по запросу мерзавца'": отсутствовал бы в выводе git remote show origin
.
следующие шаги, которые будут следовать, если никакая конфигурация не существует для git pull
, были уже объяснены другими ответами.
Не желая редактировать мой конфигурационный файл git, я следил за информацией в сообщении @mipadi и использовал:
$ git pull origin master
Если вы предпочитаете, вы можете установить эти опции через командную строку (вместо редактирования конфигурационного файла) следующим образом:
$ git config branch.master.remote origin
$ git config branch.master.merge refs/heads/master
Или, если вы, как и я, хотите, чтобы это было по умолчанию во всех ваших проектах, включая те, над которыми вы можете работать в будущем, тогда добавьте это как глобальный параметр конфигурации:
$ git config --global branch.master.remote origin
$ git config --global branch.master.merge refs/heads/master