Я хочу отправить свой код в удаленный репозиторий, но у меня возникла проблема при отправке из консоли Git .
После того, как у меня все добавлено, я ввожу свой ключ https :
git remote add origin https://github.com/...
позже необходимо нажать , поэтому я ввожу:
git push origin master
но получаю следующее в сопровождении ошибки:
На https://github.com/myUser/myRepo.git
! [отклонено] master -> master (сначала выбрать)
ошибка: не удалось отправить некоторые ссылки на ' https://github.com/ ...'
подсказка: обновления были отклонены, потому что удаленный содержит работу, которую вы делаете
подсказка: нет локально . Обычно это вызвано тем, что другой репозиторий подталкивает
подсказку: к той же ссылке. Вы можете сначала интегрировать
подсказку об удаленных изменениях: (например, 'git pull...') перед повторной отправкой.
подсказка: см. «Примечание о быстрой перемотке вперед» в «git push --help» для получения подробной информации.
Он говорит мне, что у меня его нет локально, поэтому я поставил:
git remote --v
чтобы увидеть, указывает ли он на удаленное репо (поскольку я не мог придумать никакого решения), и действительно он указывал на него.
Это не позволит мне передать мой код с локального на удаленный .
Кто-нибудь знает, что происходит или что я делаю неправильно?
Я надеюсь, что вы можете мне помочь. Большое спасибо.
Как сообщается в сообщении об ошибке, это обычно происходит из-за того, что код, который у вас есть локально в вашем репозитории, отличается от кода в удаленном репозитории. Сначала вы должны обновить свой локальный репозиторий, чтобы учесть изменения (
commits
), которые произошли в удаленном, исправить конфликты, а затем он позволит вам загрузить код.Пара основных моментов:
git clone
, нет необходимости делать этоgit remote add
вручную, он уже должен быть настроен.git remote add
используется при создании локального репозитория git, куда вы добавляете изменения. Затем вы создаете удаленный пустой репозиторий на GitHub или любом другом сервере. И вы хотите загрузить свой локальный код в удаленное репо. В этом начальном случае у вас никогда не должно возникнуть проблем с выполнениемpush
git push -f referencia_remota referencia_local
git clone
git checkout -b mi_rama_local
работаю, и добавляю коммиты в эту ветку до тех пор, пока функция или ошибка не будут устранены.master
сgit checkout master
и вы приносите возможные изменения, которые есть в удаленномgit pull
git checkout mi_rama_local
и интегрируете новые основные изменения с помощьюgit rebase master
. Это, так сказать, поместит изменения в мастере ниже ваших текущих изменений. Это предотвращает пустые коммиты "слияния". Некоторым командам нравится, чтобы эти коммиты знали, когда они были интегрированы, а другим нет. Я нахожу их особенно раздражающими. вот почему я делаю это так.git merge mi_rama_local
git push origin master
Если вы работали непосредственно над мастером, что некоторые люди считают плохой практикой, вы можете попробовать внести свои удаленные изменения непосредственно под ваши локальные изменения с помощью
git pull --rebase
, разрешить конфликты и выполнитьgit push
Вам просто нужно потянуть, прежде чем нажимать, в случае конфликта исправьте его, прежде чем нажимать.
Методология при запуске git.
А теперь для хобби можно сделать:
Чтобы выйти из журнала Git, нажмите «Q».
Со временем вы привыкнете к этому.
Прежде чем делать
git push
всегда, но вы всегда должны делатьgit pull
, если в случае возникновения конфликта вы должны исправить их вручную, а те файлы, которые конфликтуют, вы должны добавить их снова.