Как разделить репозиторий git (по веткам) - PullRequest
2 голосов
/ 16 марта 2011

Я начал с фрагмента кода, который был разбит на две небольшие программы, каждая в своей ветви.

Они имеют много общего, но я бы хотел разделить их на 2 репозитория, чтобы я мог работать над обоими одновременно более простым способом.Досадно, когда перед переключением контекста перед переключением контекста нужно зафиксировать изменение (и избавиться от / зафиксировать несущественные изменения (такие как флаги gitignore и makefile).

Это довольно простая линейная история одного человека, за исключением раннего разделенияи несколько ненужных тайников.
Как лучше всего это сделать?

Ответы [ 2 ]

5 голосов
/ 16 марта 2011

Самый простой способ - просто клонировать репозиторий и, возможно, удалить ненужную ветку в клонированном репозитории.

1 голос
/ 17 марта 2011

Еще проще

mkdir program1
cd program1
git init
git pull ../origrepo smallprogram1

полоскание, повтор

Если у вас есть материал в истории веток, которого больше не должно быть в этой истории, см. git-filter-branch (например, --index-filter 'git rm unwanted-bits'), и вы готовы идти

Не забудьте пылесосить на выходе (git gc --prune=... или git repack)

...