2013-04-16 2 views
1

Я работаю над репозиторием git и постоянно меняю локальные изменения на удаленный сервер ... до недавнего времени. Когда я делаю git push, он говорит, что все обновлено. На самом деле, я уже 3-х коммандит перед удаленной версией, и это не приводит к моим изменениям.GIT push not pushing commits to remote

Я пробовал git log -1, git reset --hard решение размещено на разных местах, но это ничего не решает. Нужно ли мне менять это число, чтобы отразить количество совершенных мной моментов?

Скажите, что у меня есть 5 коммитов, для брелоков с именем от 1 до 5. Моя местная версия на 5, удаленная версия на 2. Gitk показывает мой MASTER при фиксации 5 и пультах/origin/master при фиксации 2. Do Мне нужно сбросить мою локальную версию до 2 (или 3, первая фиксация, которая не была нажата на удаленный)? Что будет с моими изменениями? В документации git говорится, что --hard отменит любые изменения, будет ли это означать, что они будут полностью потеряны? Я хотел бы сохранить историю фиксации этих 3 коммитов, так как были сделаны некоторые изменения.

+0

№ п/п. Не делайте перезагрузки. Вы потеряете изменения. Что делает ваш файл .git/config для ветви, которую вы пытаетесь обновить на сервере? – positron

+0

Что возвращает 'git branch'? Вы находитесь в режиме отдельной головы? http://stackoverflow.com/questions/3965676/why-did-git-detach-my-head/3965714#3965714 – VonC

+0

Git branch дает мне это, были ветви ENGBE-X, действительно, отдельные ветви. http://pastebin.com/pimwZjTr –

ответ

1

Прежде всего внимательно изучите вашу конфигурацию.

  1. Убедитесь, что вы действительно нажали на него.
  2. Убедитесь, что вы подтолкнули его туда, где вы ДУМАЕТЕ, что вы его нажали.

Что может помочь вам:

$ git log --full-history // is your commit really there? 
$ git reflog // operation history 
$ git remote -v // what are your remotes? 
$ git remote show DESIRED_REPO // do you have the remote repo you wanted to push to configured? the DESIRED_REPO? 

Наконец, убедитесь, что вы используете ПРАВЫЙ нажимной обозначения:

  1. Там разница между git push public и git push --repo=public. Сначала подталкивает к публике ВСЕГДА, второй только если пульт для филиала вы нажимаете не установлен.
  2. Если ваша ветка называется иначе, чем ее удаленная копия, это может иметь значение.

$ git push remote local_branch:remote_branch // I've made this error today by swapping places, with remote_branch:local_branch Git will not find the branch to update.

Надеется, что это помогает. В моем случае тщательное повторное чтение руководства при повторном изучении команд, которые я пробовал, помогло и выявило проблему (имена обменных ветвей).

1

Я был в той же ситуации несколько минут назад (вот почему я бродил по этой теме). Anwyay, я смог его решить через git push origin master вместо git push.

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