Можно ли переместить папку так, чтобы не версионные файлы были затронуты удаленно? - PullRequest
0 голосов
/ 02 апреля 2019

Предположим, у меня следующая структура папок:

  • My_Repository
    • Library
      • Bananas
        • my_script.ook
        • my_output.dat (не версия)

… и я хочу изменить его на:

  • My_Repository
    • Library
    • Bananas
      • my_script.ook
      • my_output.dat

Другими словами, я хочу переместить подпапку (Bananas) на один уровень вверх, перенеся с собой все ее содержимое, включая неверсионную my_output.dat. Последний файл не версионный и никогда не должен быть (представьте, что он огромный), однако он присутствует в некоторых клонах хранилища.

Теперь в моем локальном клоне все работает нормально:

git mv My_Repository/Library/Bananas My_Repository

Однако, если другие клоны извлекают это изменение, результат будет следующим:

  • My_Repository
    • Library
      • Bananas
        • my_output.dat
    • Bananas
      • my_script.ook

Есть ли способ получить желаемый результат и здесь? Я ищу решение, которое хорошо масштабируется в зависимости от количества перемещенных папок и файлов, но я бы также принял сложный нет в качестве ответа.

То, что я до сих пор считал

  • Я мог бы просто переместить файл my_output.dat вручную в другой клон, но этот подход не слишком хорошо подходит для большего количества файлов.

  • Насколько я понимаю, Git на самом деле не заботится о структуре папок и отслеживает изменения файла по сходству. Поэтому мои надежды сделать это с использованием нативных структур Git довольно низки, и я ожидаю, что мне придется применить какой-то прием (например, с помощью другого инструмента).

  • Я мог бы записать все свои движения в сценарии, который просто должен быть выполнен на другом клоне, но это все еще кажется мне очень не элегантным и подверженным ошибкам.

1 Ответ

0 голосов
/ 02 апреля 2019

Вы не можете сделать это.

Git не может отслеживать неотслеживаемые файлы.По определению.

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