Тонны git коммитов после сноса удалённой ветки - PullRequest
2 голосов
/ 20 марта 2012

Первый пост на SO, поэтому, пожалуйста, прости меня, если я что-то упустил.

Я новичок в Git и мне это нравится. В основном все шло гладко, за исключением этого ..

Разработчики, с которыми я работаю, добавили новую ветку в наш github, назовите ее devbranch

Я хотел использовать devbranch для моего проекта Eclipse (в котором в настоящее время был только master). Следуя некоторым инструкциям в блоге и в Pro Git, я использовал Eclipse «Pull» (предположительно выполняющий «git pull»), а затем в терминале выполнил git checkout -b devbranch origin/devbranch согласно http://progit.org/book/ch3-5.html

Что (я думаю) именно то, что я сделал на нашем сервере, который, казалось, работал. В Eclipse это установило мою рабочую копию на «devbranch», и все файлы были там, как и должно быть.

Как ни странно, при выполнении git status или когда вы собираетесь зафиксировать проект в Eclipse (который показывает, какие файлы нужно зафиксировать), есть тонны файлов, которые, кажется, находятся в измененном состоянии? Может ли кто-нибудь помочь объяснить эту неудачу / что я мог сделать неправильно или как я могу это исправить? Я попытался сделать еще один git pull, но он просто говорит, что мой мастер и devbranch все в курсе ..

Спасибо всем заранее. Ваши советы очень ценятся.

Ответы [ 2 ]

2 голосов
/ 20 марта 2012

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

Github очень хорошо объясняет окончания строк и этот вопрос поможет вам с разрешениями.

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

0 голосов
/ 20 марта 2012

Затмение и мерзавец издают предупреждающие сигналы в моих ушах. Это может быть выстрел в темноте, но я думаю, что все пошло не так, как надо - Eclipse перезаписал файлы на диске. Я думаю, что в основном вы извлекаете devbranch (который проверяет новые версии файлов на диске), но Eclipse не распознает, что файлы изменились на диске, поэтому он не перезагружает их в IDE. Когда вы успешно скомпилируете в Eclipse, он сохранит кэшированные буферы и перезапишет файлы на диске.

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

Проверьте с

git diff

чтобы узнать, что изменилось в этих файлах.

После изменения настроек введите в корневой каталог

git checkout .

для отмены измененных файлов и возврата в состояние, в котором origin / devbranch находился до того, как Eclipse внесла эти изменения. Однако это также отменит ваши собственные изменения, если вы сделали какие-либо изменения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...