Git Оттянуть оттяжку
Мой коллега объединил некоторые изменения для исправления выпуска в свою локальную ветвь мастера, а затем сделал толчок мастера в наш репозиторий GitHub. Теперь я пытаюсь обновить мою локальную ветвь с его изменениями. Когда a "w20 > pull origin" из консоли git кажется, что все идет хорошо, показывая все файлы. Но, ближе к концу, он просто останавливается с сообщением "Отмена".
Я понятия не имею, что делать дальше. Помощь?
UPDATE:
Поэтому проблема решена. Реальный корень проблемы состоял в том, что мой коллега удалил некоторые записи из файла .gitignore в своем ветке, что позволило нескольким новым файлам войти в его чек. Поскольку мой локальный .gitignore все еще игнорировал эти файлы, мое местное репо не думало, что у меня есть локальные рабочие файлы для добавления в индекс. Я закончил тем, что удалил все файлы, а затем потянулся и принес их всех.
Я определенно буду более тщательно редактировать файл .gitignore и проверять его. У меня теперь есть новая оценка его влияния на других разработчиков.
Ответы
Ответ 1
Вероятно, он помещает коммит где-то в существующее дерево коммитов, а не поверх него.
Попробуйте следующее:
git fetch origin
git rebase origin/master
И если это не сработает, просто создайте локальную ветвь origin
, вишни выберите свои локальные коммиты на нем, reset master до того, как он скомпонован, и затем объедините свою локальную ветвь на master.
Моя догадка заключается в том, что его нажатие включало --force
в какой-то момент, чтобы избежать сообщения not a fast-forward commit
. Вы не хотите этого делать в будущем.
Ответ 2
Корень проблемы состоял в том, что мой коллега удалил некоторые записи из файла .gitignore в своей ветке, что позволило нескольким новым файлам войти в его чек. Поскольку мой локальный .gitignore все еще игнорировал эти файлы, он не думал, что у меня есть локальные рабочие файлы для добавления в индекс. Я закончил тем, что удалил все файлы, а затем потянулся и принес их всех.