For the BayesHive project, we have code split over a number of different Git repositories, all hosted on GitHub. We use GitHub for issue tracking and keeping notes on wikis.
Some of the splitting into separate repositories makes sense (our web app is in its own repository, for example), but some of the splitting is mostly historical and makes things a little inconvenient -- the infrastructure for the Baysig statistical modelling language lives in three different repositories, which made sense at one time, but doesn't now. Having these closely related bits of code in different repositories makes it more difficult to track down regressions (git bisect doesn't work across multiple repositories) and can make branching messy (if you're implementing a feature that requires work in multiple different repositories, you need to remember to create a branch in each of them, otherwise it's easy to commit inconsistent changes to the master branch in one repo and your topic branch in another repo).
As a result of all this, we decided to merge some of our repositories together. Based on a bit of Googling, this seems to be a relatively common requirement, and the advice that's on offer out there is a little conflicting and confusing. In this article, I'll try to reduce some of the confusion related to repository merging, as well as showing how to migrate GitHub issues from the pre-existing multiple repositories into the new merged repository. I've written a couple of small Haskell programs to do these tasks -- they're available here.