git everything up to date что делать

git push говорит все в актуальном состоянии, хотя у меня есть локальные изменения

У меня есть удаленный сервер gitosis и локальный репозиторий git, и каждый раз, когда я делаю большие изменения в своем коде, я тоже буду нажимать изменения на этот сервер.

но сегодня я обнаружил, что, хотя у меня есть некоторые локальные изменения и фиксация в локальном репозитории, при запуске git push origin master Он говорит «Все в актуальном состоянии», но когда я использую git clone чтобы проверить файлы на удаленном сервере, он не содержит последних изменений. А у меня только одна ветка назван Мастер и один удаленный сервер происхождения.

PS: Это то, что git отображает при запуске ls-remote, я не уверен, помогает ли это

18 ответов:

указывает, что ваш последний коммит не является главой филиала.

как говорится в git checkout на странице (выделено мной):

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

Это значит, что вы можете отказаться от временных коммитов и сливается, переключаясь обратно в существующую ветку (например, git checkout master ), а чуть позже git prune или git gc будет мусор-собирать их.
Если вы сделали это по ошибке, вы можете задать reflog для головы, где вы были, например,

может быть, вы толкаете новый местный филиал?

новая локальная ветвь должна быть нажата явно:

просто одна из тех вещей о git. Вы клонируете РЕПО, делаете ветку, совершаете некоторые изменения, нажимаете. «Все в курсе». Я понимаю, почему это происходит, но этот рабочий процесс крайне недружелюбен к новичкам.

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

в любом случае, это только одна ветвь. Поэтому ситуация, в которую я могу попасть, такова:

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

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

$ git push origin local-branch-name:remote-branch-name

объяснение

у меня была та же ошибка и потратил часы, пытаясь понять это. Наконец я нашел его. То, что я не знал, что толкает, как это git push origin branch-x попытается найти ветку-x локально, затем нажмите на удаленную ветку-x.

в моем случае, у меня было два удаленных URL-адресов. Я сделал заказ от ветка-x до ветка-y при попытке нажать с y локально на X remote у меня было сообщение, что все обновлено, что является нормальной причиной I нажимал на x второго пульта.

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

из вашего статуса git у вас, вероятно, другая ситуация, чем у меня.

но в любом случае, вот что случилось со мной.. Я столкнулся со следующей ошибкой:

более информативным сообщением здесь является то, что пульт повесил трубку. Оказалось, это связано с превышением размера буфера http post. Решение состоит в том, чтобы увеличить его с

git config http.postBuffer 524288000

у меня была эта проблема сегодня, и она не имела ничего общего с любым из других ответов. Вот что я сделал и как я это исправил:

мой репозиторий недавно переехал, но у меня была локальная копия. Я отделился от своей локальной «главной» ветви и внес некоторые изменения-и тогда я вспомнил, что хранилище переместилось. Я использовал git remote set-url origin https:// чтобы установить новый URL, но когда я нажал, он просто сказал бы» все в актуальном состоянии » вместо того, чтобы толкать мою новую ветку к мастеру.

I в конечном итоге решить его путем перебазирования на origin/master а затем нажимать с явными именами ветвей, например:

Я надеюсь, что это поможет всем, кто имел мою же проблему!

решение состоит в том, чтобы вручную удалить соответствующую строку из packed-refs. Не нашел более чистого решения.

убедитесь, что вы не обманули свой удаленный URL.

Я просто хотел также упомянуть, что я столкнулся с этим после включения Git в качестве CVS в локальной конфигурации сборки Jenkins. Похоже, что Дженкинс проверил самую последнюю фиксацию ветки, которую я ей дал, а также сбросил мой пульт, чтобы соответствовать путям, которые я дал ему в репо. Пришлось снова проверить мою ветку функций и исправить мой удаленный url-адрес источника с помощью «git remote set-url». Не указывайте инструмент сборки на свою работу каталог или вы будете иметь плохое время. Мой пульт дистанционного управления был установлен на путь к файлу в мой рабочий каталог, поэтому он, естественно, сообщал обо всем актуальном, когда я пытался нажать изменения с тем же источником и назначением.

Читайте также:  decoder off yamaha что делать

я столкнулся с этим сам, когда я объединил ветку на Github и продолжал развиваться в ней локально. Мое исправление немного отличалось от других, которые были предложены.

сначала я разветвил новую локальную ветвь от моей старой локальной ветви (которую я не мог нажать). Затем я нажал новую локальную ветку на исходный сервер (Github). То есть

это заставило изменения появиться на Github, хотя и в newlocalbranch, а не в oldlocalbranch.

в моем случае у меня было 2 удаленный РЕПО.

У меня была та же проблема. В моем случае это было вызвано тем, что имена для одного и того же пульта дистанционного управления. Он создал стандартный «origin», но я уже давно использую «github» в качестве своего пульта дистанционного управления, так что это тоже было там. Как только я удалил пульт «origin», ошибка исчезла.

Источник

Git push говорит все актуальное, хотя у меня есть локальные изменения

У меня есть удаленный сервер gitosis и локальный репозиторий git, и каждый раз, когда я вношу большие изменения в свой код, я также нажимаю изменения на этом сервере.

Но сегодня я нахожу, что даже если у меня есть локальные изменения и фиксация в локальном репозитории, при запуске git push origin master он говорит «Все обновлено», но когда я использую git клон для проверки файлов на удаленном сервере, он не содержит последних изменений. И у меня есть только одна ветка с именем master и один удаленный сервер с именем origin.

PS: Это то, что отображает git при запуске ls-remote, я не уверен, помогает ли он

ОТВЕТЫ

Ответ 1

Вы не могли бы работать с отсоединенным голосом случайно?

указывающий, что ваша последняя фиксация не является ветвью ветки.

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

Ответ 2

Ответ 3

Возможно, вы нажимаете новую локальную ветвь?

Новая локальная ветвь должна быть явно нажата:

Только одна из этих вещей о git. Вы клонируете репо, создаете ветку, совершаете некоторые изменения, нажимаете. «Все в актуальном состоянии». Я понимаю, почему это происходит, но этот рабочий процесс крайне недружелюбен для новичков.

Ответ 4

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

$ git push origin local-branch-name:remote-branch-name

Ответ 5

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

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

Но я забыл, что изменения, над которыми я работал, еще не вошли в мастер-ветку.

Поэтому вместо этого я объединяю свою ветку в мастер, а затем нажимаю, и все снова радует.

Ответ 6

Объяснение

У меня была такая же ошибка & провел часы, пытаясь понять это. Наконец я нашел это. Чего я не знал, так это того, что нажатие git push origin branch-x попытается найти локальную ветвь-x, а затем нажать удаленную ветвь-x.

В моем случае у меня было два удаленных URL. Я сделал извлечение из branch-x в branch-y, когда пытался переместить с y локально на x remote. У меня было сообщение, что все обновлено, что является нормальным, потому что я нажимал на х второго пульта.

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

Обновление:

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

Ответ 7

Ответ 8

Ответ 9

В вашем статусе git у вас, вероятно, есть другая ситуация. Моя работа.

Но так или иначе, вот что со мной произошло. Я столкнулся со следующей ошибкой:

Более информативное сообщение здесь заключается в том, что удаленный пользователь повесил трубку. Оказалось, это связано с превышением размера почтового буфера http. Решение состоит в том, чтобы увеличить его с помощью

Читайте также:  ghg emissions что это

git config http.postBuffer 524288000

Ответ 10

У меня была эта проблема сегодня, и она не имела никакого отношения к каким-либо другим ответам. Вот что я сделал и как я его исправил:

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

Ответ 11

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

Ответ 12

Я столкнулся с этим сам, когда я объединил ветку на Гитубе и продолжал развиваться в ней локально. Мое исправление было немного иным, чем другие, которые были предложены.

Сначала я разветкил новую локальную ветку с моей старой локальной ветки (которую я не мог нажать). Затем я переместил новую локальную ветвь на исходный сервер (Github). То есть.

Это привело к появлению изменений в Github, хотя и в newlocalbranch, а не oldlocalbranch.

Ответ 13

В моем случае у меня было 2 удаленных РЕПО.

Ответ 14

Ответ 15

Убедитесь, что вы не удалили свой удаленный URL.

Я просто хотел упомянуть, что я столкнулся с этим после включения Git в качестве CVS в локальной конфигурации сборки Jenkins. Похоже, что Дженкинс проверил самую последнюю фиксацию ветки, которую я ей дал, а также reset мой пульт, чтобы соответствовать путям, которые я дал ему в репо. Пришлось снова проверить мою ветку свойств и исправить исходный удаленный URL с ‘git remote set-url’. Не указывайте инструмент сборки в рабочий каталог, иначе у вас будет плохое время. Мой пульт был установлен в путь к файлу моего рабочего каталога, поэтому он, естественно, сообщал обо всех актуальных моментах, когда я пытался нажимать изменения с тем же источником и местом назначения.

Ответ 16

Ответ 17

Ответ 18

Я была такая же проблема. В моем случае это было вызвано необходимостью имен для одного и того же пульта. Он создал стандартную «origin», но я давно использовал «github» в качестве пульта, так что это тоже было там. Как только я удалил пульт «origin», ошибка исчезла.

Ответ 19

У меня было такое (коммиты в моем журнале git не были на GitHub, хотя git сказал, что все было в курсе), и я уверен, что проблема была в Github. Я не получил никаких сообщений об ошибках в git, но GitHub имел ошибки состояния, и мои коммиты были там через несколько часов.

Сообщения о состоянии GitHub были:

Ответ 20

ПРИМЕЧАНИЕ: он не выдает никаких ошибок! Но вы не сможете выдвигать свои коммиты и всегда обновлять Everything up to date

Ответ 21

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

Источник

cannot push to github: everything up-to-date

On github, I forked an old version of another project. I made some changes and am trying to push them onto my fork on github. I commited the changes locally, then tried git push, but this simply tells me «Everything up-to-date». When I browse the project on github, however, nothing has changed: it still shows the files (from the latest version) on my fork, unmodified. How can I push the changes to my github account?

(I realize this isn’t much information. what else can I say? I have a feeling that it may be because I’m modifying the files directly in (home)/git/(project). )

6 Answers 6

That means you are in a DETACHED HEAD mode.
You can add and commit, but from the upstream repo point of view (ie from the GitHub repo), no new commits are ready to be pushed.
You have various ways to include your local (detached HEAD ) commit back into a branch, which you will be able to push then.
See:

The OP mentions this article in order to fix the situation:
«git: what to do if you commit to no branch»

all we need to do is checkout the branch we should have been on and merge in that commit SHA:

Note that instead of merging the SHA1 that you would have somehow copied, you can memorize it with a script, using head=$(git rev-parse HEAD) :
See «git: reliably switching to a detached HEAD and then restore HEAD later, all from a script».
Then you can merge that detached HEAD back to the right branch.

Источник

Git pull says ‘everything is up to date’

I am working on a project with a few friends, and we are uploading everything to git. At first everything worked good, but at my local repository i deleted some files, online these files are still existing, so I tried

Читайте также:  разновидности укропа какие есть

only, because i deleted that folders, they aren’t coming back. Git says ‘everything is up to date’, but it isn’t. Another stackoverflow-questioner had the same problem, and in a comment someone said he should use

aand yes, there are the files i was looking for, but (I guess) that’s just checking out, and they are not in my file system. How can i solve this problem?

In general: I guess there must be a command that updates everything?

4 Answers 4

From your comments it looks like you might have committed the deleted changes,

1 should be used with care as it will remove your local commit by one. But if you want the deleted changes and u dont care about the modifications then this is a good idea.

If you had committed the deletion of those files (therefore telling Git you wanted to keep that change), then this question would have an entirely different answer.

Changes to your local file system that have not been committed are viewed by git as «Not having happened yet». What git is doing it managing your history. When you commit changes (adding files, removing files, changing files), you are recording that state in the history of the working copy.

What git pull and git push do are «get a copy of all the changes that have happened on the remote» and «tell the remote the changes that have happened». When you do a git pull, you are taking any commits that you do not know about locally and applying them to your repository. If no new commits are ever pushed to that remote, not matter how many times you pull, after the first time you will always receive the message that «Everything is up to date».

Источник

Git push ничего не сделает (все актуально)

Отвечает репозиторием, которого я ожидал.

Почему Git сообщает мне, что репозиторий обновлен, когда есть локальные коммиты, которые не видны в репозитории?

18 ответов

git push не отправляет все ваши локальные ветки: откуда ему знать, в какие удаленные ветки их отправлять? Он отправляет только локальные ветки, которые были настроены для отправки в конкретную удаленную ветку.

Когда он говорит «Все в актуальном состоянии», это означает, что «все ветки, которые вы сказали мне, как отправлять, обновлены».

В. Итак, как я могу продвигать свои коммиты?

Однако эта форма не настроит develop на постоянную отправку на origin/something-else в будущем; это одноразовая операция.

Сделал свое дело. Надеюсь, это кому-то поможет, как «последний шанс».

В качестве дальнейшего чтения я бы посмотрел на git-push man-страницы, в частности, раздел примеров.

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

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

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

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

Затем вы можете зафиксировать и отправить обновления в мастер

Это случилось со мной, когда я ^C в середине git push на GitHub. Однако GitHub не показал, что изменения были внесены.

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

Это случилось со мной. Я просто повторно зафиксировал изменения, а затем нажал.

Проблема также может заключаться в том, что в локальном филиале нет восходящего потока.

Вы настраиваете, в какую ветку отправляете файлы.

Вы уверены, что у вас установлен правильный URL-адрес удаленного источника? При вводе git remote show origin правильно ли установлены параметры «Fetch URL» и «Push URL» в соответствии с URL-адресом вашего репозитория?

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

Это случилось со мной, когда мое приложение SourceTree вылетело во время постановки. А в командной строке казалось, что предыдущий git add был поврежден. В этом случае попробуйте:

По последней команде вам может потребоваться установить ветку.

Источник

Сказочный портал