Git не загружает файлы.Git pushes commits .
Теперь, верно, что коммиты содержат файлов, так что вы можете, если хотите, думать об этом как о "выталкивании файлов".Проблема в том, что, когда вы думаете об этом так, вы попадаете в ситуацию, не зная, что делать.:-) Так что лучше думать о Git как о коммитах .Теперь ваш вопрос звучит так:
Когда я запускаю git push
, я продолжаю выдавать коммиты с файлами с именами www/file1
, www/file2
и так далее.Я хотел бы нажать коммиты, которые имеют файлы с именами file1
, file2
и т. Д.
Теперь ответ очевиден: make коммитов, которые содержат файлы с именамиfile1
, file2
и т. Д.Для этого возьмите какой-нибудь существующий коммит с файлами в папке www
и скажите Git переименовать их все, чтобы они больше не использовали имя www
:
$ cd www
$ git mv * ..
например.
Очевидным недостатком является то, что теперь вы перемежаете коммиты, у которых все файлы имеют имена www/file1
, www/file2
и т. д., с другими коммитами, которые вообще не имеют www
, ииметь все файлы с именами file1
, file2
и т. д.Существует два очевидных подхода к решению этой проблемы:
- помещает коммиты с переименованными файлами в другую ветку, чтобы коммиты с двумя разными схемами именования не были чередование или
- как Ницан Авни предложил , поместите коммиты, файлы которых были переименованы, как это, в отдельный репозиторий .
Есть и другие способы - вы можете изобрести свой собственный, если хотите, - но все они сводятся к тому, что если какое-то программное обеспечение настаивает на том, чтобы видеть коммиты с файлами с именем A
B
C
и так далее, и ваши существующиеУ коммитов есть файлы с именем folderX/A
folderX/B
folderX/C
, вам нужно делать новые и разные коммиты, в которых есть файлы с именами, которые требует программное обеспечение.Какие обязательства, если таковые имеются, "лучше" или "более мастерски" ... ну, эта часть зависит от вас.Что касается Git, то это просто разных коммитов .Если все программное обеспечение, которое вы используете, не против поместить все эти различные коммиты в один репозиторий, вы можете использовать один репозиторий для их хранения.Если часть программного обеспечения возражает, вам понадобится несколько репозиториев для их хранения или для исправления этого программного обеспечения.