2013-04-05 2 views
1

Как вы можете понять, я все еще изучаю Гит и как работает ветка. Anyways:Пробуждая ветки, ветвь старого мастера показывает файлы из новой ветки?

  1. Я работал над местной веткой master.
  2. Я создал и переключился на новую ветку для добавления кода, используя мою IDE, что означает не через командную строку.
  3. IDE попросил меня добавить новые файлы, которые я создал (скажем A.php) в репозиторий. Я добавил его и изменил B.php (который уже был добавлен).

результат является то, что master ветви (я перешел обратно к ней) теперь A.php и B.php имеет те же изменения, как B.php в fcwdetection отрасли.

Как это возможно? Является ли это ошибкой из IDE, или я совершенно неправильно понял, как работает ветка?

+0

сделали вы совершили два файла, в то время как в 'fcwdetection' филиал? – Atropo

+0

@Atropo Я так не думаю, IDE попросил меня только «добавить» его для отслеживания. Я выбрал «Да» для 'A.php' и отредактировал' B.php', как обычно. – gremo

ответ

1

Ваш рабочий процесс кажется правильным. Похож на ошибку в среде IDE. Если вы хотите иметь измененные файлы только в ветке fcwdetection, вы должны зафиксировать их, пока находитесь в этой ветке. В командной строке вы сделать что-то вроде этого:

Создание филиала:

git checkout -b fcwdetection 

Редактировать A.php и создать B.php Добавить все файлы, включенные в новый B.php к git:

git add -A . 

Зафиксировать их в fcwdetection:

git commit -m 'Commit message' 

На данный момент, если вы проверить обратно в master вы видите старые версии файлов:

git checkout master 

Если вы будете видеть измененные версии A.php и B.php вы должны проверить их состояние, являются их уже добавлено в index? Я говорю так Beause git не позволяют переключаться от ветви к другой с измененными без поручены файлов, в командной строке вы получите эту ошибку:

error: Your local changes to the following files would be overwritten by checkout: 
[some files] 
Please, commit your changes or stash them before you can switch branches. 

Aborting 
+0

После передачи файлов в 'fcwdetection' и переключения обратно на' master' теперь я вижу, что правильная версия 'B.php' и' A.php' удалена. Это хорошо. Но почему IDE показывает мне незафиксированные файлы из 'fcwdetection', когда я работаю над' master' ?! Это так запутанно ... – gremo

+0

Какая IDE вы используете? IDE должна помешать вам перейти на другую ветку, если у вас есть локальные изменения в файлах. – Atropo

+0

PHPStorm новая версия 6. Вот что происходит: если я отредактирую файл в ветке A (не совершая ничего), когда я вернусь к ветке B, я могу увидеть изменения. Нет предупреждений. – gremo

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