git filter repo - andyceo/documentation GitHub Wiki

git-filter-repo

С помощью этой утилиты можно вытащить в отдельный репозиторой папку из исходного репозитория, с историей.

Репозиторий проекта: git-filter-repo

  • установка:

    pip install git-filter-repo
    
  • клонировать репозиторий:

    git clone old-repo-url new-repo-dir
    
  • запустить процесс:

    git filter-repo --path папка-которую-нужно-извлечь-как-отдельный-репозиторий/
    

    Это удалит все коммиты, кроме тех, где изменялась указанная папка.

    Также можно использовать вместо --path поиск путей по паттерну --path-regex:

    git filter-repo --path-regex '.*somepath.*$'
    
  • теперь можно этот новый репозиторий с извлеченной папкой запушить куда-либо:

    git remote add origin https://github.com/ваш-логин/новый-репо.git
    git push -u origin master
    
⚠️ **GitHub.com Fallback** ⚠️