4

При создании файла/директории в локальном репозитории git, файл копируется во все ветки, а не в ту в которой создается (через консоль и редактор). Как этого избежать?

  • 1
    в смысле вы создали файл, не добавили его в реп и при переключении веток он остается ? это так и задумано, сделайте коммит с этим файлом в нужной ветке. – zb' Jun 11 '17 at 09:45
  • Спасибо zb, разобрался – Кукушон Jun 11 '17 at 09:55

1 Answers1

3

вообще, создаёте вы файлы/каталоги не в репозитории/хранилище, а в рабочем каталоге (working directory/tree).

в хранилище файлы (точнее, их содержимое) «попадают» только после команды git commit.

при переключении между ветками/коммитами программа git «вычисляет», какие изменения следует внести в рабочий каталог:

  • файлы/каталоги, которые есть в текущей ветке/коммите, но отсутствуют в той, на которую переключаетесь, удаляются;
  • файлы/каталоги, которых нет в текущей ветке/коммите, но которые присутствуют в той, на которую переключаетесь, извлекаются из содержимого хранилища;
  • аналогично извлекается и содержимое файлов, которое отличается: в текущей ветке/коммите — одно, в той, на которую переключаетесь — другое.

все же остальные файлы/каталоги при переключении между ветками/коммитами вообще никак не будут затронуты.

это относится и к тем файлам/каталогам, которых нет ни в текущей ветке/коммите, ни в той, на которую переключаетесь.


Как этого избежать?

пока вы не сохранили эти файлы/каталоги внутри хранилища, программа git, по крайней мере, выполняя команду checkout, не будет «касаться» таких «неотслеживаемых» файлов/каталогов внутри рабочего каталога.

так что краткий ответ: никак не избежать. так задумано.

  • Доходчиво. Благодарю. – Кукушон Jun 11 '17 at 13:17
  • Есть более ранний вопрос https://ru.stackoverflow.com/q/327240/181472, но у вас здесь ответ подробнее. Сомневаюсь, в какую сторону дубликатить. – Nick Volynkin Jun 22 '17 at 04:22
  • @NickVolynkin, а какая, в общем, разница? на оба вопроса даны вполне исчерпывающие ответы. по-моему, можно закрывать (как дубль) любой из них. а с перекрёстной ссылкой и релевантностью пусть поисковики разбираются. – aleksandr barakin Jun 22 '17 at 06:30