Как создать репозиторий Github с уже работающего сайта

У меня возникли проблемы с использованием Git.

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

Тем не менее, у меня есть некоторые проблемы с отрывом от земли.

У меня уже есть репозиторий, и я сделал быстрый git init проект. Я добавил файлы, сделал коммит, а затем добавил репо. Однако, когда я бегу git push, я получаю это:

fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream github master

Итак, я побежал git push --set-upstream github master. Это дало мне эту ошибку:

 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/WordsofDefiance/davidaccomazzo.com.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.

Может ли кто-нибудь помочь мне создать эту первоначальную фиксацию в репо? Я предполагаю, что мне не хватает чего-то сверхъестественного.

Обновлено: я использовал --force при нажатии, и это сработало. Спасибо.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать 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
0
306
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Ну, это глупый ответ, но репозиторий, который вы используете, похоже, не существует, вы его создали?

Если это так, и это не общедоступно, действительно ли оно пусто? Git push --force может быть полезен.

На самом деле это частный репозиторий. Это что-то меняет?

qotsa42 31.03.2019 23:09

Это вызовет другую ошибку.

Chris 31.03.2019 23:22

Чтобы ответить на ваш первый вопрос об ошибке восходящего потока, это связано с тем, что для запуска git push без каких-либо других аргументов вам необходимо установить удаленную ветку по умолчанию. Это делается для того, чтобы git знал, куда отправить ваш код. Установив восходящий поток на github master, вы, по сути, говорите git запускать git push github master всякий раз, когда вы запускаете git push. Там есть более подробный ответ о том, как это работает здесь.

Что касается вашего второго вопроса, silmari может быть прав в том, что ваш удаленный репозиторий (на GitHub) на самом деле не пуст. Это могло произойти, если вы решили добавить файл лицензии (например, MIT) или файл .gitignore при первоначальной настройке репозитория на GitHub. В таком случае GitHub создал для вас коммит, которого у вас нет локально, из-за чего и возник конфликт.

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

Опять же, многое из этого является моим предположением. Я надеюсь, что это помогает.

Я закончил тем, что сделал git push --force и установил основной мастер, и это сработало. Похоже, теперь я могу делать коммиты, без проблем. Спасибо за вашу помощь.

qotsa42 01.04.2019 03:19

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