To pytanie jest podobne do tego , ale bardziej szczegółowe.
Mam projekt z dwoma gałęziami ( staging
i beta
).
Rozwijam się dalej staging
i używam master
gałęzi do naprawiania błędów. Więc jeśli pracuję nad stagingiem i widzę błąd, zmieniam na master
gałąź:
git checkout master
i zrób to:
git add fileToAdd
git commit -m "bug fixed"
a potem łączę się z obiema gałęziami:
git checkout staging
git merge master
git checkout beta
git merge beta
I nie ma znaczenia, czy w drzewie roboczym są inne pliki.
Ale teraz, gdy próbuję przejść na master
gałąź , pojawia się błąd :
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
Pomyślałem, że powinienem usunąć plik z obszaru przemieszczania:
git reset HEAD src/Pro/ConvocationBundle/Controller/DefaultController.php
ale otrzymuję ten sam błąd. Jeśli git status
dostanęNo changes to commit
git add your-file
zaangażować.
staging
teraz wprowadzać żadnych zmian .
reset --hard
? Jeśli naprawdę chcesz odrzucić zmiany. Lub użyj skrytki, jeśli tego nie zrobisz.