Как восстановить структуру дерева каталогов на ветке при оформлении заказа на нее - PullRequest
0 голосов
/ 08 июля 2011

Предположим, у меня есть мастер ветвей в мастере, я создал one.c, затем зафиксировал изменения

, затем я создал еще одну ветку с именем new_branch и зарегистрировался в ней, затем добавил two.c, а затем зафиксировал изменения

когда я возвращаюсь к мастеру еще раз, two.c все еще присутствует в рабочем каталоге

мне нужен способ, которым при извлечении определенной ветви дерево каталогов возвращается к тому, что было

в моем случае, после переключения на master, я не хочу видеть two.c в директории currect, и если я извлекаю new_branch, two.c появляется снова

Как это можно сделать?

Ответы [ 3 ]

0 голосов
/ 08 июля 2011

То, что вы ожидаете, является фактическим нормальным поведением Git. Когда вы переключаетесь на ветку, файлы, не входящие в ветку от предыдущей ветки, «скрываются». Но известно, что иногда это не так. Обычно это происходит, когда файл (в вашем случае two.c) используется, скажем, в IDE.

Посмотрите здесь: Git не удаляет файлы при переключении ветки и здесь: git checkout: удаленная ветка показывает посторонние файлы?

Как и в ответах, приведенных выше, попробуйте git reset --hard и git clean -fdx

0 голосов
/ 08 июля 2011

используйте это в ветке A типа

git stash

, затем переключите ветку

git checkout <branch name>

затем

git stash pop

посмотрите, работает ли она

0 голосов
/ 08 июля 2011

git reset --hard должен удалить неотслеживаемые файлы (например, two.c)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...