2011-03-16 116 views
2

我从一段代码开始,它分成两个小程序,每个程序分别位于不同的分支中。我如何拆分git仓库(按分支)

他们有许多相似之处,但我想将它们分成2个回购,这样我就可以同时以更简单的方式同时处理两者。这很烦人,必须提交一个更改(并且在切换前切换上下文之前删除/提交非重大更改(例如gitignore和makefile标志)

这是一个非常简单的线性单人历史记录,除了早期的分割和一些不必要的藏匿处。
什么来完成它的最佳方式?

回答

5

最简单的方法是只克隆库,并可能在克隆库中删除不需要的分支。

1

更简单

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

冲洗,重复

如果您在分支历史记录中不再有任何记录,请参阅git-filter-branch(例如, --index-filter 'git rm unwanted-bits'),你去好

不要忘记真空您的出路(git gc --prune=...git repack