Перед любым взаимодействием с удаленным репозиторием (например, push или pull) взгляните на git status
и решите, что делать с этими «незафиксированными изменениями». Либо зафиксируйте их, если они вводят полезные функции, либо отбросьте их, если нет. - A git pull
может не справиться со своей работой, если у вас все еще есть «незафиксированные изменения».
Помните, что git pull
на самом деле просто комбинация git fetch
, которая обновляет ваши удаленные ветви, и git merge
, которая объединяет соответствующую удаленную ветвь в ваше текущее рабочее дерево. (Вот почему ваша ошибка git говорит о неудачном слиянии.)
Если вы не вносили никаких изменений на своей стороне, git pull
всегда в порядке и просто пересылает ваше рабочее дерево на новую версию. Если вы сделали какие-либо коммиты, и никто не отправил вас в вашу удаленную ветку, все тоже в порядке.
Единственная сложность в том, что вы сделали одни коммиты, а кто-то другой тоже. В данном случае эти ветви были отклонены. git fetch
получит другие изменения, а git merge
попытается объединить их с вашей работой. Это может сработать, если вы работали в других местах кода, или в противном случае может вызвать конфликт.
person
michas
schedule
09.06.2013