2012-06-20 3 views
0

иногда у меня есть некоторые проблемы, когда я пытаюсь подтолкнуть свой код к github. Позвольте мне объяснить сценарий:egit master: master [отклонено] github

Я работаю только с ведущей веткой (потому что мой продукт находится на ранних стадиях, и на данный момент нет необходимости в создании ветки функций). Мой удаленный репозиторий находится в github, и я единственный человек, над которым я работаю над проектом, поэтому нет параллельных изменений основной ветви.

Затем я пишу какой-то код, и после всех тестов того, что я кодирую, я зеленый, я фиксирую свой локальный репозиторий и github с помощью egit. Нет проблем, все изменения вносятся в github, но иногда, не знаю точно, почему, потому что я «теория» (или, по крайней мере, для меня это то, что кажется) egit (на самом деле git) не позволяет мне выдвигать изменения, утверждая, что мастер: master [отклонено] ошибка. В push to window я помещаю в качестве источника ref и dest ref [master] branch, и добавляю «all specs ветвей». Конечно, в этом случае я должен извлечь из удаленного кода и слить код, а затем снова подтвердить. Я понимаю теорию, почему это происходит, текущая ветка находится за удаленной ветвью, но почему это происходит, если я единственный, кто модифицирует код линейным способом?

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

+0

Возможный дубликат [затмения и github: мастер: мастер отклонен?] (Http://stackoverflow.com/questions/8145707/eclipse-and-github-master-master-rejected) – CharlesB

+0

Спасибо Чарльз да, я уже прочитал это и с извлечением и слиянием проблема обычно исчезает (не всегда иногда я перезаписываю локальную ветвь мастера с удаленной основной ветвью), но мой вопрос заключается в том, как я пришел к этой ситуации. Посмотрите, что в сообщении отмечается, что причина, по которой отклонено ваше изменение, заключается в том, что текущий мастер в Github не появляется нигде в истории вашей основной ветки. Но как это может произойти, если я являюсь единственным разработчиком, и я всегда совершаю изменения а затем нажав на github? Как ветка github может быть более продвинутой, чем локальная? – lordofthejars

+0

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

ответ

0

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

Смежные вопросы