Git Branch работает не так, как я ожидал - PullRequest
1 голос
/ 02 декабря 2010

В моем проекте master ветвь Я фиксирую изменения: git commit -a

создать и переключиться на новую ветвь: git checkout -b newbranch

попробовать кое-что ...

понимаю, что "вещи" не сработали так, как я думал, что это может так переключиться обратно на мастер: git checkout master с намерением двигаться дальше оттуда ... но понимаю, что некоторые файлы, добавленные в newbranch, все еще находятся в TextMate... так ...

Я набираю git status Я все еще вижу все, что, как я думал, я оставил в newbranch, указано в разделе "Файлы без отслеживания"

Я пытаюсь: git reset --hard чтобы вернуть меня к этому последнему коммиту .. но изменения в newbranch все еще сохраняются?!?

что мне не хватает?

Ответы [ 4 ]

5 голосов
/ 03 декабря 2010

Чего не хватает? Что ж, файлы в вопросах не отслеживаются, и git не будет касаться тех, кто имеет шестиметровый столб. ;)

Если честно, если вы не собираетесь что-то совершать, вероятно, не было никакой причины проверять новую ветку.

Вы могли бы попробовать новые изменения как обычно. Если вам не понравилось то, что вы увидели, но вы хотели использовать новый код позже, вы могли бы спрятать его, например, так:

git stash save "Some changes that didn't work out."

Если вы абсолютно хотите, чтобы это ушло, все, что вам нужно было сделать:

git clean -d --dry-run

и затем, когда точно:

git clean -df
1 голос
/ 03 декабря 2010

поскольку у вас есть неотслеживаемые файлы (я предполагаю, что вы их не фиксировали), у вас грязный рабочий каталог Если вы также хотите убрать их, вы можете использовать команду clean:

git clean -df

Модификатор d указывает, что вы хотели бы также работать с неотслеживаемыми каталогами. Модификатор f указывает силу. Очистка не удалит вещи, если вы не укажете этот параметр по умолчанию. Вы можете добавить модификатор x на тот случай, если вы захотите удалить и игнорируемые файлы, но я бы не рекомендовал этого.

1 голос
/ 02 декабря 2010

Если определенные файлы не отслеживаются, то git ничего с этими файлами не сделает.

0 голосов
/ 03 декабря 2010

Из описанных симптомов может показаться, что у вас есть неотслеживаемые файлы. Неотслеживаемые файлы останутся при переключении веток.

Для очистки неотслеживаемых файлов

git clean -dfx

Чтобы сбросить измененные файлы в начало ветки, в которой вы сейчас находитесь

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