У меня есть папка, содержащая много файлов в формате svs_a.png, svs_b.png, svs_xyz.png, svs_something.png, ... svs_final.png. Это все разные версии одного и того же файла, названные в соответствии с устаревшей системой "переименовать каждую версию". Папка теперь стала слишком загромождена, и я чувствую себя идиотом из-за того, что с самого начала не использовал правильный VCS. Я хотел бы вытащить все это в git-репо, и было бы здорово, если бы я мог вытащить каждый из них в репозиторий в виде разных версий одного и того же файла. Есть ли способ заставить git сделать это?

Есть также несколько файлов с именем svs_color_a.png, ... svs_color_final.png, которые я хотел бы сохранить в другой ветке репо (скажем, под названием "цвет").

1 ответ1

1

Предполагая систему Linux:

#!/bin/sh -e
import_files() {
    for file; do
        date=$(stat -c %y "$file")
        cp "$file" svs.png; git add svs.png
        git commit -m "Imported $file" --date="$date"
    done
}
git init
import_files svs_{first,second,third,fourth,.....,final}.png
git checkout --orphan color
import_files svs_color_{first,second,third,...,final}.png

Используя git checkout --orphan создает совершенно отдельную ветку. Использование вместо этого git checkout -b создаст ветку, продолжающуюся с последнего коммита в master.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .