Я пытаюсь вытащить код из моего репозитория GitHub на мой сервер, но из-за конфликтов слияния происходит сбой. Я не хочу сохранять какие-либо изменения, которые могли произойти на моем локальном сервере с момента последнего запроса.
Так есть ли способ заставить Git перезаписать любую версию в GitHub, а не беспокоить меня конфликтами?
Ответы:
Если вы действительно хотите отказаться от коммитов, которые вы сделали локально, то есть никогда больше их не будете в истории, вы не спрашиваете, как тянуть - тянуть означает слияние, и вам не нужно сливаться. Все, что вам нужно сделать, это:
Я лично рекомендую сначала создать резервную ветку на вашем текущем HEAD, чтобы, если вы понимаете, что это плохая идея, вы не потеряете ее.
Если, с другой стороны, вы хотите сохранить эти коммиты и заставить их выглядеть так, как будто вы слились с источником, и заставить слияние сохранить только версии из источника, вы можете использовать
ours
стратегию слияния:источник
Вы можете использовать ответ из дубликата, указанного nvm.
Или вы можете разрешить конфликты, используя их изменения (но некоторые из ваших изменений могут быть сохранены, если они не конфликтуют с удаленной версией):
источник
X
Опция передается в стратегию слияния, которая имеет место толькоrecursive
при слиянии двух головок, поэтому ваша команда будет жаловаться"Could not find merge strategy 'theirs'. Available strategies are: octopus ours recursive resolve subtree."
- это позор, потому чтоX
может быть установлен в конфигурации (например,git config pull.twohead theirs
ноs
не может).