Я пытаюсь обновить репозиторий git в github. Я сделал кучу изменений, добавил их, затем сделал попытку сделать git push. Ответ говорит мне, что все в актуальном состоянии, но это явно не так.
отвечает репозиторием, который я ожидаю.
Почему git говорит мне, что репозиторий обновлен, когда есть локальные коммиты, которые не видны в репозитории?
git push не толкает все ваши локальные ветки: как он узнает, к каким удаленным ветким их подталкивать? Он только толкает локальные ветки, которые были настроены для нажатия на конкретную удаленную ветвь.
В моей версии git (1.6.5.3), когда я запускаю git remote show origin , он фактически распечатывает, какие ветки настроены для push:
Q. Но я мог бы нажать на master , не беспокоясь обо всем этом!
Когда вы git clone , по умолчанию он устанавливает локальную ветвь master для перехода к удаленной ветке master (локально называемой origin/master ), поэтому, если вы выполняете транзакцию только на master , тогда простой git push всегда будет возвращать ваши изменения.
Однако из выведенного фрагмента вывода вы находитесь в ветки с именем develop , которая, как я предполагаю, не была настроена на то, чтобы нажать на что-либо. Таким образом, git push без аргументов не будет нажимать на эту ветвь.
Когда в нем говорится «Все актуальное», это означает «все ветки, которые вы мне сказали, как нажимать, обновлены».
Q. Итак, как я могу нажать свои коммиты?
Если то, что вы хотите сделать, это поместить ваши изменения с develop в origin/master , то вы должны, вероятно, объединить их в свой локальный master , а затем нажать на это:
Если вы хотите создать ветвь develop на пульте дистанционного управления, отделите ее от master , затем подайте аргументы на git push :
Это будет: создать новую ветку на удаленном телефоне под названием develop ; и довести эту ветвь до вашего локального ветки develop ; и установите develop , чтобы нажать origin/develop , чтобы в будущем git push без аргументов автоматически нажмите develop .
Если вы хотите нажать локальную develop на удаленную ветку, называемую чем-то отличным от develop , вы можете сказать:
Однако, эта форма не будет настраивать develop , чтобы всегда нажимать на origin/something-else в будущем; это одноразовая операция.
Здравствуйте! Есть такая проблема, когда я пытаюсь запушить файлы на гитхаб, (там практически пустой репозиторий), консоль мне выдает Everything up-to-date , что, как я понял из переводчика означает, что репозиторий обновлен до последней версии, но коммитов на гитхабе я при этом не вижу. ( После клонирования я находился в созданной гитом папке — Creative ) Вот что я делал:
Не понимаю, что он хочет от меня. Вроде как Creative это имя удаленного репозитория, значит должен пушить туда, но всё равно ничего нет. Подскажите, что не так
Я пытаюсь обновить репозиторий Git на GitHub. Я сделал кучу изменений, добавил их, совершил, а затем попытался сделать git push . Ответ говорит мне, что все в курсе, но явно это не так.
отвечает с репозиторием, который я ожидал бы.
почему Git говорит мне, что репозиторий обновлен, когда есть локальные коммиты, которые не видны в репозитории?
13 ответов:
git push не толкает все ваши локальные ветви: как он узнает, какие удаленные ветви их толкать? Это только толкает локальные ветви, которые были настроены, чтобы подтолкнуть к определенной удаленной ветви.
на моей версии Git (1.6.5.3), когда я запускаю git remote show origin он фактически выводит, какие ветви настроены для push:
Q. но я мог бы нажать на master , не беспокоясь обо всем этом!
когда вы git clone , по умолчанию он устанавливает ваш локальный master ветка для нажатия на пульт master ветвь (локально называется origin/master ), так что если вы совершаете только на master и git push всегда будет толкать свои изменения обратно.
однако, из выходного фрагмента, который вы опубликовали, вы находитесь на ветке под названием develop , который я предполагаю, не был настроен на то, чтобы подтолкнуть к чему-либо. Так что git push без аргументов не будет нажимать коммиты на этой ветке.
когда он говорит: «Все up-to-date», это означает «все ветви, которые вы сказали мне, как нажать, обновлены».
Q. Итак, как я могу нажать мои коммиты?
если то, что вы хотите сделать, это положить ваши изменения из develop на origin/master , то вы, вероятно, должны объединить их в свой локальный master затем нажимаем что:
если то, что вы хотите, чтобы создать develop филиал на пульте дистанционного управления, отдельно от master , потом аргументы git push :
это будет: создать новую ветку на пульте дистанционного управления под названием develop ;и приведите эту ветку в соответствие с вашим местным develop филиала; и set develop для передачи origin/develop так что в будущем git push без аргументов будет push develop автоматически.
если вы хотите, чтобы подтолкнуть ваш местный develop к удаленной ветке под названием Что-то кроме develop , то вы можете скажи:
однако, что форма не настройка develop всегда нажимать на origin/something-else в будущем; это одноразовая операция.
это произошло со мной, когда мое приложение SourceTree разбилось во время постановки. И в командной строке, казалось, что предыдущий git add были повреждены. Если это так, попробуйте:
в последней команде вам может потребоваться установить ветвь.
имейте в виду, что этого достаточно, если вы не сделали никакого ветвления или любого из этого рода. В этом случае, убедитесь, что вы нажимаете на правильную ветку, как git push origin develop .
Источник: