LINUX.ORG.RU

Not possible to fast-forward, aborting

 


0

1

Как так может быть? В удалённый репозиторий никто кроме меня точно не пушил. Пуш работает нормально. Делать git reset --hard origin/master пробовал, не помогло. Как сделать, чтобы git pull не выдавал ошибку и если в удалённой ветке нет изменений?

> git pull --ff-only
fatal: Not possible to fast-forward, aborting.
> git pull --no-ff
Already up to date.
> git pull --rebase
Current branch master is up to date.

Если что, просто git pull выдаёт портянку и так же завершается с ошибкой:

warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:

  git config pull.rebase false  # merge (the default strategy)
  git config pull.rebase true   # rebase
  git config pull.ff only       # fast-forward only

You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.
★★★★★

Последнее исправление: eternal_sorrow (всего исправлений: 1)

Делать git reset –hard origin/master пробовал, не помогло

У меня есть только одно предположение: что апстримом выбранной ветки не является origin/master.

Что выдает git pull --ff-only origin master?

annulen ★★★★★
()

Если что, просто git pull выдаёт портянку и так же завершается с ошибкой:

И вот ты её прочитал, настроил желаемое поведение, и что, git pull всё ещё выдаёт эту портянку?

slovazap ★★★★★
()
Последнее исправление: slovazap (всего исправлений: 1)
Ответ на: комментарий от slovazap

И вот ты её прочитал, настроил желаемое поведение

Я всё ещё не определился, какое поведение настроить. Судя по всему, мне подходит ff-only, но при этом возникает ошибка из сабжа.

eternal_sorrow ★★★★★
() автор топика
Ответ на: комментарий от eternal_sorrow

Судя по всему, мне подходит ff-only, но при этом возникает ошибка из сабжа.

Такое возможно если у тебя есть локальные коммиты которых нет в апстриме. С локальными коммитами ожидаемо невозможно сделать fast-forward.

slovazap ★★★★★
()
Ответ на: комментарий от slovazap

Ок, как тогда поступить? Мне нужно, чтобы не было ошибок если нет новых коммитов в удалённом репозитории (даже если есть новые коммиты в локальном). Но при этом гит не пытался что то мерджить или ребейзить если коммиты там есть.

eternal_sorrow ★★★★★
() автор топика
Ответ на: комментарий от eternal_sorrow

Ок, как тогда поступить? Мне нужно, чтобы не было ошибок если нет новых коммитов в удалённом репозитории (даже если есть новые коммиты в локальном). Но при этом гит не пытался что то мерджить или ребейзить если коммиты там есть.

А что, стесняюсь спросить, ты собрался делать в таком случае? Если ты не хочешь двигать локальную ветку, очевидно тебе не нужен pull. Возможно тебе нужен просто fetch? А так-то, процитированному тз отвечает банальный true.

slovazap ★★★★★
()
Последнее исправление: slovazap (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow

При команде git pull которая не может выполнить собственно pull должна и будет происходить исключительно ошибка.

slovazap ★★★★★
()
Ответ на: комментарий от eternal_sorrow

Не может по команде git pull происходить не определённо что. Определись: merge, rebase, fast forward или ошибка.

t184256 ★★★★★
()
Ответ на: комментарий от slovazap

Не должно быть ошибки когда нечего пуллить. Просто должно сообщать что Already up to date.

eternal_sorrow ★★★★★
() автор топика

Почитал доки, пожалуй сделаю pull.rebase interactive. в этом случае я по крайней мере узнаю, когда происходит что то странное

eternal_sorrow ★★★★★
() автор топика
Последнее исправление: eternal_sorrow (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.