Есть одна возможность, которую я никогда не пробовал "по-настоящему", но это может сработать.
Допустим, у вас есть три проекта с творческим названием Proj1 , Proj2 и (угадайте) Proj3 . Скажем также, что все или некоторые из них зависят от внешних библиотек, например одна называется Lib1.dll , а другая - SuperLib.dll .
.
Во-первых, для структуры папок я бы сделал что-то вроде:
MyCode\
build_all.bat
Docs\
[...]
Libs\
Lib1.dll
SuperLib.dll
Proj1\
[...]
Proj2\
[...]
Proj3\
[...]
Тогда вы создадите один репозиторий для каждой из папок ProjX:
cd \MyCode\Proj1
git init
cd \MyCode\Proj2
git init
cd \MyCode\Proj3
git init
Тогда вы бы создали хранилище для всего этого:
cd \MyCode
git init
Содержанием этого репозитория для git будет папка Libs
и ее содержимое, сценарий сборки build_all.bat
и 3 подпроекта.
Так что, как только вы измените свой исходный код, скажем, Proj1\Main.cs
, вся вещь не увидит модификацию. Вам нужно было бы git commit
на Proj1, а затем перейти к целиком и затем git commit
к нему (теперь git сможет увидеть, что Proj1 был изменен).
При использовании этого метода история всего 1038 * будет просто указывать, когда ProjX был изменен, но он не будет напрямую отслеживать отдельные файлы. Однако, как и ожидалось, хранилище в ProjX будет отслеживать каждый файл, как обычно.
Если вы попробуете "настоящий проект", дайте мне знать результаты!
Удачи!