Невозможно нажать после неудачной загрузки в Git

У меня есть репо, в котором есть только один файл (файл записной книжки Jupyter). Поскольку файл был создан с помощью Google Colab, он не существовал в моем локальном репозитории, а был только в моем репозитории GitHub.

Я только что добавил файл README и пытался отправить его из своего локального репозитория на GitHub. Но поскольку удаленное репо было впереди моего локального, я не мог нажать после фиксации.

Затем я решил попробовать, но, поскольку я не был знаком с синтаксисом, я не указывал никаких параметров после git pull. Затем я попытался снова с git pull origin master, но теперь у меня появляется сообщение об ошибке, в котором говорится, что есть ошибка, а имя репо изменено на «master | MERGING» ... Я знаю, что мне, вероятно, нужно перетащить пульт в новую локальную ветвь и объединить его с моей основной веткой, но я не знаю, как это сделать здесь, а также боюсь все испортить ... Спасибо за любые советы!

georg@DESKTOP-9VE7F0E MINGW64 /d/Dropbox/WorkingDir/personal-projects/tf_and_col                                                                                                                                                                                               ab (master)
$ git commit -m "Add README file"
[master 13c0b76] Add README file
 1 file changed, 16 insertions(+)
 create mode 100644 README.md

georg@DESKTOP-9VE7F0E MINGW64 /d/Dropbox/WorkingDir/personal-projects/tf_and_col                                                                                                                                                                                               ab (master)
$ git push origin master
To https://github.com/georgeliu1998/tf_and_colab.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/georgeliu1998/tf_and_cola                                                                                                                                                                                               b.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

georg@DESKTOP-9VE7F0E MINGW64 /d/Dropbox/WorkingDir/personal-projects/tf_and_col                                                                                                                                                                                               ab (master)
$ git checkout master
Already on 'master'

georg@DESKTOP-9VE7F0E MINGW64 /d/Dropbox/WorkingDir/personal-projects/tf_and_col                                                                                                                                                                                               ab (master)
$ git pull
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 18 (delta 5), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (18/18), done.
From https://github.com/georgeliu1998/tf_and_colab
   0a500ee..1238317  master     -> origin/master
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

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


georg@DESKTOP-9VE7F0E MINGW64 /d/Dropbox/WorkingDir/personal-projects/tf_and_col                                                                                                                                                                                               ab (master)
$ git push origin master
To https://github.com/georgeliu1998/tf_and_colab.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/georgeliu1998/tf_and_cola                                                                                                                                                                                               b.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

georg@DESKTOP-9VE7F0E MINGW64 /d/Dropbox/WorkingDir/personal-projects/tf_and_col                                                                                                                                                                                               ab (master)
$ git remote
origin

georg@DESKTOP-9VE7F0E MINGW64 /d/Dropbox/WorkingDir/personal-projects/tf_and_col                                                                                                                                                                                               ab (master)
$ git pull origin
You asked to pull from the remote 'origin', but did not specify
a branch. Because this is not the default configured remote
for your current branch, you must specify a branch on the command line.

georg@DESKTOP-9VE7F0E MINGW64 /d/Dropbox/WorkingDir/personal-projects/tf_and_col                                                                                                                                                                                               ab (master)
$ git pull origin master
From https://github.com/georgeliu1998/tf_and_colab
 * branch            master     -> FETCH_HEAD
hint: Waiting for your editor to close the file... warning: failed to restrict f                                                                                                                                                                                               ile handles (2)

handle #0: 0000000000000434 (type 3, handle info (1) 0
handle #1: 0000000000000438 (type 3, handle info (1) 1

This is a bug; please report it at
https://github.com/git-for-windows/git/issues/new

To suppress this warning, please set the environment variable

        SUPPRESS_HANDLE_INHERITANCE_WARNING=1

error: cannot spawn C:/Users/georg/AppData/Local/atom/bin/atom.cmd: No such file                                                                                                                                                                                                or directory
error: unable to start editor 'C:/Users/georg/AppData/Local/atom/bin/atom.cmd'
Not committing merge; use 'git commit' to complete the merge.

georg@DESKTOP-9VE7F0E MINGW64 /d/Dropbox/WorkingDir/personal-projects/tf_and_col                                                                                                                                                                                               ab (master|MERGING)
$ git push origin master
To https://github.com/georgeliu1998/tf_and_colab.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/georgeliu1998/tf_and_colab.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

georg@DESKTOP-9VE7F0E MINGW64 /d/Dropbox/WorkingDir/personal-projects/tf_and_colab (master|MERGING)
$

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

meagar 18.12.2018 19:00

Сделанный. Вы можете подтвердить, что теперь все в порядке? спасибо @ meagar

George Liu 18.12.2018 19:06
stackoverflow.com/…
phd 19.12.2018 01:10
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
568
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

origin/master: * -> * -> *
local/master:  \__ -> your commit

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

git checkout -b temp-updates

Затем скопируйте хеш фиксации из первой строки git log.

commit 166a17b4852f5b83a09c3198169d86959a68e3dd

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

git checkout master
git reset --hard origin/master

Теперь вы можете выбрать фиксацию с внесенными вами изменениями:

git cherry-pick 166a17b4852f5b83a09c3198169d86959a68e3dd

Теперь у вас должно получиться чисто нажать

git push origin master

git pull равен git fetch плюс git merge. В случае сомнений не звоните git pull, вместо этого звоните git fetch, а затем git status и подумайте, что вы хотите делать дальше.

В вашем случае последующий git merge попытался объединить изменения из origin/master с изменениями в вашем локальном master, но это привело к конфликту. git ожидает, что вы разрешите конфликт, а затем git add файл, чтобы пометить его как решенный, и git merge --continue для завершения слияния.

Если вы хотите прервать слияние, вы можете выполнить git merge --abort, чтобы вернуться к нормальному состоянию. Если эта команда по какой-либо причине не работает, git reset --hard HEAD очистит ваш рабочий каталог. ПРЕДУПРЕЖДЕНИЕ: git reset --hard отменит любое незавершенное изменение ваших файлов!

Другие вопросы по теме