2012-06-18 2 views
2

Так что, чтобы короткая история, я работал над веб-приложением в течение последних нескольких месяцев. Недавно я должен был получить новый ноутбук и клонировать репозиторий с GitHub на моей новой машине ... Тем не менее, когда я вносить изменения в мое приложение и попытаться использовать git push -u в корневом каталоге приложения я получаю следующее сообщение:Github не удалось нажать

To [email protected]:acc/etc.git ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to '[email protected]:acc/etc.git' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes (e.g. 'git pull') before pushing again. See the 'Note about fast-forwards' section of 'git push --help' for details.

но когда я пытаюсь git pull [email protected]:acc/etc.git master Я получаю сообщение, сообщающее мне, что тяга была прервана.

From github.com:acc/etc * branch master -> FETCH_HEAD error: Your local changes to the following files would be overwritten by merge: config/routes.rb test/fixtures/users.yml Please, commit your changes or stash them before you can merge. Aborting

так, то я совершить мои изменения с помощью git commit -m 'fixing', а затем пытаться git pull снова.

однако на этот раз я получил сообщения о том, что практически все мои файлы имели «Auto-Слияния КОНФЛИКТ»

я я полностью ввинчен с этим конкретным хранилище? Я не совсем уверен, что делать, потому что git все еще несколько новичок в моей жизни.

ответ

2

Если изменения не такие большие, подумайте о том, чтобы сделать копию всей папки/проекта в другой директории за пределами проекта, тогда git reset --hard HEAD уничтожит, удалит и удалит последние изменения.
Затем вы можете применить их снова индивидуально, используя ваши копии save3d для ссылки.
Удостоверьтесь, что вы git add до git commit конечно.
Наконец, если вы получаете проблемы с автоматическим слиянием, вы всегда можете просто отредактировать файлы вручную, чтобы их разрешить.

3

Я полностью привязан к этому конкретному хранилищу?

Нет, но вам придется выполнять ручное слияние, поскольку Git не может понять это. git status расскажет, какие файлы нужно редактировать. Сами файлы содержат маркеры, указывающие , где вы должны отредактировать. Когда это будет сделано, git push должен снова работать.

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