2014-11-24 5 views
0

Это кажется невозможным, но в моем мерзавце репо у меня есть следующий:То же самое, но с историей мерзавца

/foo 
    /bar 
     somefile.txt 
     somenewfile.txt 
/bar 
    somefile.txt 

Содержание /foo/bar стало синонимом /bar, и я хотел бы сделать именно ditto /foo/bar /bar (т.е. копирует содержимое /foo/bar на /bar, где побеждает бывший), но каким-то образом сохраняет историю изменений как somefile.txt, так и новых somenewfile.txt вместо того, чтобы приписывать все изменения тем, кто выполняет команду ditto.

Я хочу остаться с:

/bar 
    somefile.txt 
    somenewfile.txt 

Есть некоторые игры, которые я мог бы играть с git subtree, может быть?

ответ

0

Git - это трекер контента, в отличие от какого-либо другого SCM, такого как базар, который отслеживает личность файлов. Это означает, что помимо информации, которая существует в файлах и какова их содержимое, нет никаких дополнительных сведений о том, какой файл «есть», который в Git совершает.

Вы ничего не можете с этим сделать, используя git subtree. Но вам тоже этого не нужно: ни одна информация не теряется во время переименования, а несколько интеллектуальная программа (например, git gui или gitk) покажет вам правильную информацию.

Смежные вопросы