There is a case when you develop a project start with an experiment branch or normally create branch to try different version (ie. mobile or web) but then the branch growing stable or finally find out it should not locate under the same repo anymore where no longer any relationship with the original master branch. So there is a requirement to clone your branch over a new repo but still preserves all the commit history and changes. Here is the solution.
- Create a new repo.
Under your working directory (switch to branch)
git push http://github.com/user/new_repo.git +old_branch:master