В общем случае мы инициализируем по умолчанию в первом случае и инициализацию значения во втором случае.
Например: в случае с int (тип POD):
int* test = new int
- у нас есть любая инициализация, а значение * test может быть любым. int* test = new int()
- * test будет иметь значение 0. следующее поведение зависит от ваш тип Test. У нас есть дефференциальные случаи: Test имеет конструктор defult, Test создал конструктор по умолчанию, Test содержит член POD, член не POD ...
Вы даже не нуждаетесь во всей структуре каталогов, просто захватываете .git каталог и перемещаете его в Вашу машину окон. Затем выполненный "мерзавец сбросил - трудно", и это должно восстановить остальную часть структуры каталогов для Вас.
Почему не делают Вас "получение по запросу мерзавца" repo?
пз: Конечно - "клон мерзавца" это (сначала). Точка: каждый мерзавец-repo так же допустим как его клоны.