Этот вопрос похож на этот, но более конкретный.
У меня есть проект с двумя ветками: staging
и beta
. Я разрабатываю на staging
и использую ветку master
для исправления ошибок. Поэтому, если я работаю над постановкой и вижу ошибку, я перехожу на ветку master
:
git checkout master
и сделайте то же самое:
git add fileToAdd
git commit -m "bug fixed"
а затем сливаюсь с обеими ветками:
git checkout staging
git merge master
git checkout beta
git merge beta
И неважно, есть ли в рабочем дереве другие файлы.
Но теперь, когда я пытаюсь перейти на ветку master
, я получаю сообщение об ошибке:
error: Your local changes to the following files would be overwritten by checkout:
src/Pro/ConvocationBundle/Controller/DefaultController.php
Please, commit your changes or stash them before you can switch branches.
Aborting
Я подумал, что надо удалить файл из области подготовки:
git reset HEAD src/Pro/ConvocationBundle/Controller/DefaultController.php
но я получаю ту же ошибку. Если я сделаю git status
, я получу No changes to commit
reset --hard
? Если вы действительно уверены, что хотите отменить свои изменения. Или используйте тайник, если вы этого не сделаете. - person keltar   schedule 15.03.2014git add your-file
и зафиксируйте. - person keltar   schedule 15.03.2014staging
. - person Manolo   schedule 15.03.2014