Не могу нажать на GitHub - постоянно говорит, что нужно объединить

743

Я новичок в GitHub . Сегодня я столкнулся с проблемой, когда пытался перенести свой код на GitHub.

Pushing to git@github.com:519ebayproject/519ebayproject.git
To git@github.com:519ebayproject/519ebayproject.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:519ebayproject/519ebayproject.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Я еще ничего не помещал в репозиторий, так зачем мне что-то тянуть?

user1353717
источник
6
Обратите внимание, что это также может произойти для ветвей, ранее посещенных локально, которые имели коммиты в обратном хранилище. Есть ли простой способ просто перемотать такую ​​старую ветку или просто позволить git забыть об этом в локальном репозитории?
Турбьёрн Равн Андерсен
50
@ ThorbjørnRavnAndersen - мне удалось исправить этот сценарий, используя 'git push -f', который, казалось, заставил git забыть о его воображаемых проблемах :)
Эшелон
6
Видел жалобу на это от мерзавца новичка. Причина в том, что когда они создают новый проект на GitHub, они оставляют галочку «Инициализировать с помощью readme» или выбирают параметры .gitignore / GPL, поэтому в новом проекте уже есть коммит, которого у них нет локально, таким образом путаница, вызванная ошибкой выше.
Руслан Кабалин
4
@ Эшелон Опция -f для принудительного использования push опасна. Я просто использовал его в командном проекте, и 6 коммитов были «полосатыми», просто удалены с сервера, и не было возможности их вернуть!
Deleplace
42
Его модно хвалить мерзавец. Но почти все разработчики, с которыми я разговаривал, в частном порядке соглашаются, что они лично ненавидят Git. Теперь, когда они используют git, они тратят гораздо больше времени на контроль исходного кода по сравнению с тем, что они тратили, когда использовали перформанс или TFS.
developer747

Ответы:

762

Это может привести к потере коммитов в удаленном репозитории; используйте это с осторожностью.

Если вы не хотите объединять удаленную ветку с вашей локальной веткой (см. Различия с git diff ) и хотите сделать принудительное push, используйте команду push с -f

git push -f origin <branch>

где originимя вашего удаленного репо.

Обычно команда отказывается обновлять удаленную ссылку, которая не является предком локальной ссылки, используемой для ее перезаписи. Этот флаг отключает проверку. Это может привести к потере коммитов в удаленном репозитории; используйте это с осторожностью.

Ник Роландо
источник
1
Это сработало для меня на репозитории, который у меня есть на Github, но в моем приложении был субмодуль от Heroku. и мне пришлось вытащить файлы из субмодуля, а затем отправить обновленное приложение в Heroku.
Джаллардо
24
Обязательно прочитайте последнюю строчку комментария к этому посту! «Это может привести к потере коммитов удаленным репозиторием; используйте его с осторожностью». Применение силовых толчков в командной среде опасно, и обычно этого следует избегать.
Адам Калнас
Это также может ДОБАВИТЬ всю историю от исходного хранилища до удаленного, используя cherry-pick для перемещения «всего» одного коммита. Требуется восстановление из резервной копии ...
rickfoosusa
Также стоит отметить, что если вы используете Github, это может переопределить открытый запрос на извлечение, который вы ранее создали с вашими последними коммитами. Из Github Docs : «Принудительное нажатие может повредить ваш запрос на извлечение».
Armfoot
Это сработало для меня. Я пытался, $ git pull origin master -vно это дает ошибку fatal: refusing to merge unrelated histories. Затем я попробовал это, и это сработало, и мои локальные файлы появились на github remote repo.
Вир
238

Как говорится в сообщении,

Объединить удаленные изменения (например, 'git pull')

Используйте git pullдля загрузки последних изменений из удаленного репозитория в локальный репозиторий. В этом случае для извлечения изменений потребуется слияние, поскольку вы внесли изменения в локальный репозиторий.

Я приведу пример и картинку, чтобы объяснить. Давайте предположим, что ваше последнее извлечение из источника / ветви было в коммите Б. Вы завершили и совершили некоторую работу (Фиксация С). В то же время кто-то еще завершил свою работу и отправил ее в источник / ветвь (Commit D). Там должно быть слияние между этими двумя ветвями.

local branch:                         --- Commit C 
                                    /
                                   /
                                  /
origin/branch: Commit A ------ Commit B ---- Commit D

Поскольку вы - тот, кто хочет подтолкнуть вас, Git заставляет вас выполнить слияние. Для этого вы должны сначала вытащить изменения из источника / ветви.

local branch:                         --- Commit C -- Commit E
                                    /               /           
                                   /               /             
                                  /               /               
origin/branch: Commit A ------ Commit B ---- Commit D 

После завершения слияния вам будет разрешено быстро переместиться в начало / ветку к коммиту E, нажав на ваши изменения.

Git требует, чтобы вы обрабатывали слияния самостоятельно, потому что слияние может привести к конфликтам.

Джейк Грин
источник
7
Что если вы не хотите сливаться? И просто оставьте D как боковую ветвь (по крайней мере, пока). Позже я мог бы совершить больше после C; кто-то еще может совершить больше после D. Что спешит слиться? Как я могу выдвинуть боковую ветвь без слияния? ~~~
Стив Питчерс
3
local / branch и origin / branch предназначены для представления одной и той же ветви, но на разных машинах (локальный против origin); нажать локальную / ветку - это обновить источник / ветку. Если вы хотите, чтобы состояние вашей ветки было видимым для других (то есть для источника), но вы не хотите сливаться с источником / ветвью, то вы должны создать новую ветку вне локальной / ветки (git branch [name]) и протолкнуть эту ветку к источнику (git push -u origin [имя])
Джейк Грин
1
Отличное объяснение. В этом видео показана краткая демонстрация проблемы и способы ее решения, как описывает @JakeGreene, а также два способа избежать ее, в первую очередь, при настройке нового репозитория.
Кевин Маркхэм
4
спустя несколько лет, кажется, что этот ответ очень похож на этот другой
superjos
1
Для меня git pullтоже напечатано Already up-to-date. Оказалось, что я был не в ветке, хотя я был, а в отдельной ветке HEAD (возможно, из-за неудачного слияния?). Это было очевидно после бега git branch. После запуска git checkout mybranchвсе заработало как положено.
Страйдер
200

Вы обновили свой код перед нажатием?

Используйте, git pull origin masterпрежде чем что-то толкать.

Я предполагаю, что вы используете originв качестве имени для вашего пульта.

Вам нужно потянуть перед push, чтобы ваш локальный репозиторий обновлялся до того, как вы что-то добавили (на тот случай, если кто-то другой уже обновил код github.com). Это помогает в разрешении конфликтов на местном уровне.

AYK
источник
1
Как я могу узнать имя хранилища? Когда я git pull origin master'origin' does not appear to be a git repository
печатаю
3
«происхождение» является удаленным Вы можете использовать, git remote --verboseчтобы увидеть все пульты, настроенные в вашей папке git. Информация, отображаемая на экране, также будет включать в себя пути «git@github.com» или HTTPS, по которым вы сможете определить, куда нажать. Надеюсь это поможет !
AYK
16
git pull origin masterПоказано уже актуально. но затем, когда попытаетесь нажать на origin_branch, произнесите то же самое предупреждение, упомянутое в вопросе. Любое предложение !!
CoDe
2
@ Шуб, ты когда-нибудь решал проблему? Я получаю то же самое!
OriginalAlchemist
3
@OriginalAlchemist да ... так как я единственный разработчик, работающий с удаленно-локальной веткой ... так что я действительно принудительно нажал на локальную ветку ... и переопределил все изменения открытой ветки на сервере своими изменениями из локальной системы. git push -f <remote> <branch>например , мерзавец толчок начало <your_local_branch> проверить эту нить .
CoDe
122

Обычно это происходит, когда вы git commitи git pushраньше пытались внести изменения git pullingв ту ветку, xгде кто-то другой уже внес изменения.

Нормальный поток будет как ниже,

ШАГ 1 : git stashваши локальные незафиксированные изменения в этой ветке.

ШАГ 2 : git pull origin branch_name -vк pull and merge(локально совершенных изменений на этой ветке . Дать этому Слить какое - то сообщение, и исправить конфликты если таковые имеются )

ШАГ 3 : git stash popэти stashизменения (ED Тогда вы можете сделать коммиты на Popped файлов , если вы хотите или нажать уже совершенные изменения (step4) первыми и сделать новое обязательство файлов позже. )

ШАГ 4 : git push origin branch_name -vобъединенные изменения.

Заменить branch_nameна master(для masterветки).

prayagupd
источник
3
где это commit? Если вы не делаете свои изменения после stash pop?
Мехмет
Я должен. Обычно я сначала нажимаю объединенный код, а затем фиксирую свои локальные незафиксированные изменения. Вы можете совершить и нажать одновременно. Просто предпочтение.
prayagupd
51

Первое и простое решение (не рекомендуется)

  • Попробуйте эту команду git push -f origin master.
  • Эта команда принудительно перезапишет удаленный репозиторий (GitHub)

Рекомендуемое решение

  • Запустите эти команды:
git pull --allow-unrelated-histories  //this might give you error but nothing to worry, next cmd will fix it
git add *
git commit -m "commit message"
git push

Если это не сработает, следуйте 🔰

  • Удалить .gitкаталог из папки.
  • Затем выполните эти команды:

    git init
    git add .
    git commit -m "First Commit"
    git remote add origin [url]
    git push -u origin master
    

ИЛИ

git push -f origin master 

Используйте только git push -f origin masterесли -uне работает для вас.

Это решит практически любые ошибки, возникающие при загрузке ваших файлов.

Смит Патель
источник
4
Удаление вашего репозитория git и потеря всей истории коммитов - это «Рекомендуемое» решение? Кажется поспешным
Нильс Гильермин
@ Nils Guillermin Это зависит от вашей ситуации. Если я работаю над большим проектом, в котором мне нужно исправить все конфликты слияний, я бы использовал vscode, чтобы легко просмотреть и объединить все изменения. Спасибо за ваше мнение, хотя.
Смит Патель
47

Иногда мы забывали тянуть и делали много работ в местной среде.

Если кто-то хочет нажать без тяги,

git push --force

работает. Это не рекомендуется при работе с другими людьми, но когда ваша работа - это простая вещь или личный игрушечный проект, это будет быстрое решение.

Teo
источник
$ git push
шаурья уппал
2
Это сработало для меня: личный проект с 0 другими сотрудниками. Я попробовал несколько других предлагаемых «решений» здесь, на SO, но ни одно из них не устранило очень простую проблему: я сделал локальный reset --hardкоммит для более старого коммита, а затем сделал еще пару. Тогда я просто хотел, pushно удаленный репо не был готов позволить мне. WarrenP может на самом деле помочь учащимся, будучи менее руническим. Может быть, он не хочет.
Майк Грызун
2
Либо не используйте его, либо научитесь правильно его использовать. Если вы принудительно продвигаетесь к важному центральному репозиторию, доступному для группы, вы должны утратить весь доступ к всем важным репозиториям. То, что вы делаете в своем личном репо, чтобы избежать изучения альтернативных путей, в конечном итоге повлияет на вашу способность работать с общими репо. Если вы знаете, что произошло до силового толчка, иногда силовой толчок в порядке. Если вы этого не сделаете, это никогда не нормально.
Уоррен П
35

Некоторые из вас могут получить эту ошибку, потому что Git не знает, какую ветку вы пытаетесь нажать.

Если ваше сообщение об ошибке также включает

error: failed to push some refs to 'git@github.com:jkubicek/my_proj.git'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. If you did not intend to push that branch, you may want to
hint: specify branches to push or set the 'push.default' configuration
hint: variable to 'current' or 'upstream' to push only the current branch.

тогда вы можете последовать полезным советам Джима Кубичека « Настроить Git только на Push Current Branch» , чтобы установить текущую ветку по умолчанию.

git config --global push.default current
xiatica
источник
32
git pull origin branch_name --rebase

Это сработало для меня - команда git pull origin branch_name --rebaseсначала извлечет изменения из удаленного имя_в ветви, затем rebaseтекущая ветка сверху.

Пюри Саху
источник
20

В дополнение к ответам выше, у меня сработало следующее: -

Сценарий -

  1. Я успешно отправил my_branch к источнику.
  2. Я сделал еще несколько изменений.
  3. Когда я попытался снова нажать (после выполнения add, конечно же, commit), я получил вышеупомянутую ошибку.

Решение -

 1. git checkout **my_branch**
 2. git add, commit your changes.
 3. git pull origin **my_branch** (not origin, master, or develop)
 4. git push origin **my_branch**

доказательство

Бхавук Матур
источник
1
Вы помогли мне. Мне было трудно заметить, что мне нужно оформить заказ в другую ветку и вытащить его из удаленного пункта, хотя я тянул другую ветку, используя --allфлаг.
MZanetti
18

У меня была та же проблема, что я сделал, я сначала толкнул его с помощью этого

git push --force

Я сделал это после того, как зафиксировал файлы и получил сообщение об ошибке. Он зафиксировал все файлы и подтолкнул их. Затем в следующий раз, когда я толкал на github. Я сделал то, что он просил меня, и тогда все было в порядке. Надеюсь, что это работает для вас тоже :)

Кайлаш Бхалаки
источник
Это будет работать, но это может быть не то, что вы хотите! Это означает, что вы просто игнорируете изменения, которые теперь будут потеряны навсегда.
катится
3
git push --set-upstream origin master --force
Легенды
1
Отличный способ уничтожить хранилище. Если вы заставите толчок, вы уничтожите историю. Также многие профессионально настроенные базы git-кода не позволят вам сделать это.
Оливер Диксон
Это дублирующий ответ, и в любом случае оригинал не был хорошим советом.
moopet
Это на самом деле то, что я хочу сделать, но я только что попробовал с Gitlab, и Gitlab не допускает этого на «защищенных ветвях» по проекту
jeffery_the_wind
13

Я упоминал об этом в моем уроке Как использовать GitHub: учебник для начинающих .

Когда вы создаете новый репозиторий на GitHub, GitHub может попросить вас создать файл readme. Если вы создаете файл readme непосредственно на GitHub, то вам нужно сначала сделать запрос «pull», прежде чем запрос «push» будет успешным. Эти команды будут «извлекать» удаленный репозиторий, объединять его с текущими файлами, а затем «отправлять» все файлы обратно в GitHub:

git pull https://github.com/thomas07vt/MyFirstRepo.git master

git push https://github.com/thomas07vt/MyFirstRepo.git master
Thomas07vt
источник
Я знаю, что это год спустя, но из всех этих ответов ваш был единственным, который фактически объяснил, почему у меня уже были проблемы с первым днем ​​с github. В чем разница между извлечением и извлечением?
Ксандер Лучано
1
Fetch позволяет вам просматривать изменения, не объединяя их в локальную ветку. Pull - это ярлык для извлечения, а затем слияния. Я уверен, что вы поняли это за последние 13 месяцев. Я просто прохожу, потому что я создал свой беспорядок. ;-)
wolfhoundjesse
6

Я получил вышеупомянутое сообщение об ошибке, когда я пытался протолкнуть мою текущую ветку foobar:

git checkout foobar
git push origin foo

Оказывается, у меня было две локальные ветви, отслеживающие одну и ту же удаленную ветку:

foo -> origin/foo (some old branch)
foobar -> origin/foo (my current working branch)

Для меня это помогло протолкнуть мою текущую ветку, используя:

git push origin foobar:foo

... и очистить с git branch -d

Marco
источник
6

git push -f origin фирменное имя

Используйте приведенную выше команду только в том случае, если вы уверены, что вам не нужен код удаленной ветви, в противном случае сначала выполните слияние, а затем нажмите код

ВИКАС КОЛИ
источник
5
Это дубликат плохого ответа.
moopet
5

Если вы не хотите вмешиваться в ваш текущий проект (и, возможно, сталкиваетесь с конфликтами слияний, которые не хотите решать), и не хотите создавать другую ветку (это будет утомительно для управления другой веткой), и вы не хотите не хочу делать какие-либо рискованные и постоянные forceкоманды git (которые даже после прочтения того, что они делают, меня часто удивляют последствия этого).

Решение . Можно просто перетащить содержимое вашей папки в другую папку, перетащить проект в уже пустую папку, перетащить извлеченное содержимое в корзину, а затем перетащить нужный проект обратно в папку. Вы должны уметь правильно толкать и получать желаемые результаты. Мне буквально требуется меньше 10 секунд, чтобы сделать это.

Людям, которые говорят мне, что это неправильно, не ссылаясь на какие-либо последствия, или людям, которые говорят мне использовать команду, которая вызывает у меня раздражение в будущем, я говорю: «Этот метод буквально занимает у меня менее 10 секунд». Если я столкнусь с командой git, для реализации которой требуется менее 10 секунд и которая будет иметь точно такой же эффект, я ее приму. До тех пор я использую этот метод.

Недостатком этого метода является то, что ваша история коммитов будет выглядеть линейной, когда вы фактически объединитесь в ветке без документирования слияния. Это может быть не лучшим методом при работе с группами. Работайте на ветках в таких случаях!

ScottyBlades
источник
4

Просто была та же проблема, но в моем случае я набрал не ту ветку на пульте. Так что, похоже, это еще один источник этой проблемы ... дважды проверьте, что вы нажимаете на правильную ветку.

Longda
источник
1
И у меня была похожая вещь, когда я вспомнил предыдущую команду, которая была для совершенно другого хранилища!
Клэр Макрэй
4

У меня возникла та же проблема, и оказалось, что я нахожусь в другой (локальной) ветке, чем я думал, И правильная локальная ветвь была в коммитах с удаленного компьютера.

Мое решение: проверить правильную ветку, cherry-выбрать коммит из другой локальной ветки, git pull и git push

Рамон Финкен
источник
4

У меня была похожая проблема, и оказалось, что мой рабочий процесс для поддержания моей ветки в актуальном состоянии был виноват. Я делал следующее:

В моем местном "хозяине"

git fetch upstream
git merge upstream/master --ff-only

потом обратно в мой местный филиал

git rebase master

Это работало хорошо для предыдущего потока git, но не с github. Здесь git rebaseбыла проблема, вызывающая проблемы с синхронизацией (и я признаю, что я должен был принять это без полного понимания), и, к сожалению, поставил меня в положение, когда это git push -fстало, вероятно, самым легким вариантом. Фигово.

Мой новый поток - обновить ветку напрямую, используя git mergeследующее:

В моем местном филиале

git fetch upstream
git merge upstream/master

Нет перемотки вперед, так как я внес изменения в местном отделении.

Как вы, вероятно, можете сказать, я не эксперт по git, но я достоверно проинформирован, что этот рабочий процесс, вероятно, позволит избежать конкретных проблем, которые у меня были.

Компонент 10
источник
3

В моем случае я проверил «mybranch» и сделал git pull, поэтому я не мог понять, почему толчок не работал. В конце концов я понял, что нажимаю не на ту ветку. Я печатал git push origin masterвместо git push origin mybranch.

Так что, если вы уже сделали git pullи все еще получаете это сообщение, убедитесь, что вы нажимаете правильную ветвь.

wisbucky
источник
3

Имя вашей ветви совпадает с именем удаленной ветви?

Если нет, вы должны извлечь новую ветку с тем же именем, что и у удаленной ветви, и попробовать нажать ее снова.

Предположим, что удаленная ветвь, которую вы хотите отправить, - это [ тестирование ], а ваша локальная ветвь называется [ тест ].

Если вы не в тестовой ветке, сначала переключитесь на нее.

git checkout test

Затем откройте новую ветку и назовите ее test .

git checkout -b testing

Теперь пришло время подтолкнуть его:

git push [remote repo] testing
fox323
источник
2
Просто используйте, $git branch -M <new_name>чтобы переименовать местную ветку.
com
3

Я решил эту проблему в своем GIT-хранилище. Нет необходимости rebaseили forceсовершать в этом случае. Используйте следующие шаги, чтобы решить эту проблему -

local_barnch> git branch --set-upstream to=origin/<local_branch_name> 

local_barnch>git pull origin <local_branch_name>

local_barnch> git branch --set-upstream to=origin/master

local_barnch>git push origin <local_branch_name>

надеюсь, это поможет.

Саи Пратик
источник
2

Другое решение - продвинуть голову пульта, сделав еще один коммит, если можете. После того, как вы вытянете эту продвинутую голову в локальное поддерево, вы сможете снова оттолкнуться от нее.

9swampy
источник
2

Я получал похожую ошибку при отправке последних изменений в пустой репозиторий Git, который я использую для gitweb . В моем случае я не вносил никаких изменений в пустой репозиторий, поэтому я просто удалил свой пустой репозиторий и снова клонировал:

git clone --bare <source repo path> <target bare repo path>
Hemant
источник
2

Если вы уверены, что никто не внес изменения в ваш репозиторий git и что вы работаете над последней версией, git pullэто не имеет смысла как решение в вашем сердце ...

Тогда это, вероятно, то, что произошло, вы использовали git commit --amend

Это позволяет вам комбинировать поэтапные изменения с предыдущим коммитом, а не фиксировать его как совершенно новый снимок. Его также можно использовать для простого редактирования предыдущего сообщения коммита без изменения его снимка.

Учебник ATLASSIAN: переписывание истории

Однако не рекомендуется выполнять, git commit --amend если вы уже передали коммит в GitHub , это потому, что «внесение изменений не просто изменяет самый последний коммит - оно полностью его заменяет. Для Git это будет выглядеть как новый коммит» Это означает, что для другого разработчика на вашем GitHub история выглядит как A-> B-> C, но для вас она выглядит как A-> B-> D, если GitHub позволит вам push, все остальные должны будут вручную исправить свою историю

Это причина, по которой вы получаете сообщение об ошибке ! [rejected] master -> master (non-fast-forward), если вы знаете, что никто не потянул ваши последние изменения, вы можете это сделать git push --force, это изменит историю мерзавцев в вашем публичном репо . В противном случае ... вы можете выполнить git pull, но я верю, что это будет иметь такой же результат, как вы не прошлиgit commit --amend пройдя, он создаст новый коммит (то есть: история git после git pull: A-> B-> C-> D )

для более подробной информации: как изменить ваш последний коммит

watashiSHUN
источник
2

Другой вариант: локально переименовать вашу ветку на что-то новое.

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

Вы можете извлечь удаленную ветку, чтобы иметь локальную копию, и изучить различия между (i) тем, что было у удаленного (со старым именем ветви) и (ii) тем, что у вас есть (с новым именем ветки), и решить, что делать , Так как вы не знали о различиях пульта ДУ (отсюда и проблема), просто слияние или форсирование изменений где-то слишком жестоко.

Посмотрите на различия, выберите, над какой веткой вы хотите работать, выберите вишню изменения, которые вы хотите из другой ветви, или отмените изменения, которые вы не хотите, в своей ветви и т. Д.

Тогда вы сможете решить, хотите ли вы перенести вашу чистую версию на пульт, добавить новые изменения или что-то еще.

Иван
источник
1

Проблема с командой push состоит в том, что ваш локальный и удаленный репозиторий не совпадает. Если вы инициализируете readme по умолчанию при создании нового репозитория из git hub, то основная ветка создается автоматически. Тем не менее, когда вы пытаетесь нажать, что не имеет никакой ветви. Вы не можете нажать ... Итак, лучшая практика - создавать репо без инициализации readme по умолчанию.

Суман Астани
источник
1

Эта проблема обычно вызывается созданием файла readme.md, который считается коммитом, не синхронизируется локально в системе и отсутствует за головой, следовательно, он показывает запрос git pull. Вы можете попытаться избежать файла readme, а затем попытаться зафиксировать. Это сработало в моем случае.

Аман Мишра
источник
0

Еще одна причина этой проблемы (видимо, не так часто) ...

Мой сервер отстал ~ 12 часов, когда я сделал толчок

Я настроил NTP на сервере SYNC мои часы.

Я выполнил новый git push, который привел к ошибке, обсуждаемой в этом посте.

ИКС-МЭН, ЧЕЛОВЕК-ИКС
источник
0

Если по какой-либо причине git pullпечатается, Already up-to-dateвы можете проверить глобальный параметр git push.default(In ~/.gitconfig). Установите это, simpleесли это было в matching. Ниже ответ объясняет, почему:

Git - В чем разница между push.default "соответствие" и "простой"

Кроме того, стоит проверить, не устарело ли ваше местное отделение, git remote show originи при необходимости выполнить проверку.

Викаш Раджа Самуэль Сельвин
источник
0

Используйте git pull https://github.com/username/repository это потому, что Github и удаленные репозитории не синхронизированы. Если вы сделаете pullрепозиторий, то Pushвсе будет синхронизировано и ошибка исчезнет.

`

Махи
источник
0

git pull Уже печатает up-to-date

решение:

Вы можете создать репозиторий / проект на удаленном сервере (сервер) и добавить туда некоторый файл, затем снова создать папку в локальном и инициализированном git git init- это ошибка , вы не должны создаватьgit init в локальном, а вместо этого клонировать проект в свой локальный с помощьюgit clone

затем потяните

noob_no1
источник