Ответ есть, git говорит вам сначала получить.
Возможно, кто-то другой уже подтолкнул к освоению, а ваша фиксация уже позади. Поэтому вам нужно получить, объединить набор изменений, и тогда вы сможете снова нажать.
Если вы этого не сделаете (или, что еще хуже, если вы заставите его использовать эту --force
опцию), вы можете испортить историю коммитов.
РЕДАКТИРОВАТЬ: Я подробнее расскажу о последнем пункте, так как парень здесь только что дал Очень плохой совет по использованию этой --force
опции.
Поскольку git - это DVCS, в идеале многие другие разработчики работают над тем же проектом, что и вы, используя тот же репозиторий (или его ответвление). Если вы принудительно перезаписываете свой набор изменений, ваш репозиторий не будет соответствовать другим, потому что «вы переписали историю». Вы сделаете несчастными других людей, и пострадает хранилище. Наверное, котенок на свете тоже будет плакать.
TL; DR
- Если вы хотите решить, сначала выберите (а затем объедините).
- Если хотите взломать, воспользуйтесь
--force
опцией.
Однако вы просили о первом. Всегда используйте 1), даже если вы всегда будете использовать git самостоятельно, потому что это хорошая практика.
пытаться:
После написания этого кода я получил другую ошибку: (без перемотки вперед)
Я пишу такой код:
И решил мою проблему
источник
git merge master
.Вы должны использовать
git pull
эту команду,git fetch
а затем выполнитеgit merge
.Если вы воспользуетесь
git push origin master --force
командой, у вас могут возникнуть проблемы в будущем.источник
pull - всегда правильный подход, но может быть одно исключение, когда вы пытаетесь преобразовать файловую систему без Git в репозиторий Github. Здесь вам придется принудительно выполнить первую фиксацию.
источник
Попробуйте эту команду git
или нехватка силы
-f
git push origin master -f
источник
Как указано в сообщении об ошибке, вы должны сначала выполнить выборку. Это сработало для меня. Используйте команду:
git fetch origin master
Затем выполните следующие действия для объединения:
git pull origin master
git add .
git commit -m 'your commit message'
git push origin master
источник
Пожалуйста, попробуйте эту команду, чтобы решить эту проблему -
Или
источник
Вы можете использовать следующую команду: Сначала клонируйте новую копию вашего репо, используя флаг --mirror:
Затем следуйте кодам соответственно:
Добавление существующего проекта в GitHub с помощью командной строки
Даже если это не сработает, вы можете просто написать код:
или
источник
Следуйте инструкциям ниже, так как у меня была такая же проблема:
(Чтобы узнать, можно ли легко объединить локальную ветку с удаленной)
(Теперь отправьте все содержимое локального репозитория git в ваш онлайн-репозиторий)
источник
Вероятно, что кто-то другой (например, ваш коллега) разместил коммиты
origin/master
, которые не находятся в вашей локальнойmaster
ветке, и вы пытаетесь отправить некоторые коммиты из своей локальной ветки на сервер. В 99% случаев, если вы не хотите стирать их работуorigin
, у вас есть два варианта:2) Объедините их изменения в свою локальную ветку, а затем отправьте объединенный результат.
git checkout master git pull # resolve conflicts here git push
(Обратите внимание, что в данном случае это
git pull
просто agit fetch
и agit merge
.)1) Перебазируйте локальную ветку так, чтобы казалось, что ваш коллега сначала сделал свои коммиты, а затем вы сделали свои. Это сохраняет историю фиксации красивой и линейной - и позволяет избежать «фиксации слияния». Однако, если у вас есть конфликты с изменениями вашего коллеги, вам, возможно, придется разрешать эти конфликты для каждого из ваших коммитов (а не только один раз) в худшем случае. По сути, это лучше для всех, но для вас больше усилий.
git pull --rebase # resolve conflicts here git push
(Обратите внимание, что
git pull --rebase
это по сути agit fetch
и agit rebase origin/master
.)источник
Иногда это происходит, когда вы дублируете файлы, как правило, типа README.
источник
Ваша ошибка может быть из-за ветки слияния.
Просто следуйте этому:
шаг 1:
git pull origin master
(если вы получили какое-либо сообщение, проигнорируйте его)шаг 2:
git add .
шаг 3:
git commit -m 'your commit message'
шаг 4:
git push origin master
источник
Сначала вы должны использовать
git pull
, затем команду do,git fetch
а затем выполните слияние git.Если вы воспользуетесь
git push origin master --force
командой, у вас могут возникнуть проблемы в будущем.источник
Я преодолел это, проверив новую ветку следующим образом:
У вас осталось 2 ветки: Master и newbranch, которые вы можете объединить позже.
источник
Вам просто нужно указать имя своей ветки вместе с удаленным именем.
источник
Причина, по которой это произошло в моем случае, заключалась в том, что при создании ссылки GitHub rep я инициализировал ее файлом README
При создании удаленного Git не инициализируйте его файлом README, иначе он покажет ошибку
Не делайте этого, и он определенно будет работать нормально. Вместо этого инициализируйте его с помощью файла readme, если хотите, после нажатия на главную ветку
источник
Это сработало для меня, так как ни одно из других решений не помогло мне. НЕ ДАЖЕ СИЛА!
https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-using-the-command-line
Просто нужно было пройти Git Bash
Затем вернемся к моему cmd, и я мог:
git push heroku master
что в моем случае было проблемой.источник
--force
вариант сработал у меня я использовалgit push origin master --force
источник
! [отклонено] master -> master (сначала загрузить) ошибка: не удалось отправить некоторые ссылки на 'git@github.com:'
Успешно решил проблему с помощью команды --force. Итак, вы должны использовать
git push origin master --force
источник
Используйте эту команду:
источник
эта работа для меня
git init
git add --all
3. git commit -m "имя"
4. git push origin master --force
источник
Это сработало для меня:
источник
Его просто использовать эту команду:
и он сделает вашу работу
источник
Задача решена
Проблема у меня была
У меня тоже была такая же проблема. Проблема в том, что у вас
commits
в других репозиториях не получилось,pushed
поэтому вам нужно выполнить следующие команды:git fetch origin master
выход:
From https://github.com/username/repo-name * branch master -> FETCH_HEAD
git merge origin master
выход:
Merge made by the 'recursive' strategy.
repo-name/ReadMe.md | 1 -
1 file changed, 1 deletion(-)
git push
выход:
Enumerating objects: 8, done. Counting objects: 100% (8/8), done. Delta compression using up to 8 threads Compressing objects: 100% (6/6), done. Writing objects: 100% (6/6), 1.00 KiB | 1.00 MiB/s, done. Total 6 (delta 2), reused 0 (delta 0) remote: Resolving deltas: 100% (2/2), completed with 1 local object. To https://github.com/user_name/repo-name.git 0852d5vf..70v56d9 master -> master
Большое спасибо
источник