I am using Git (on bitbucket) and have a repository with my code. I now want to use this code and largely modify it for another project all together. I understand that I should abstract the common components to a third library and use that but for the sake of argument, if I want to clone the current repository into a new one, is this possible without manually just copying the code and pushing to a new repo?
First clone the repository you want to work with. This step could be skipped if you want it all to happen in the folder you are already in.
git clone file:///path/to/repo/
Cloning will bring over the remotes specified in that directory. So you'll need to remove the remotes you don't want.
git remote rm <remote>
And add the ones you do, after you have created your remote repository.
git remote add origin <url>
You will also want to
-u to tell git this is the remote repository this branch will update to, presuming you are on the master branch.
git push -u origin master
Then you'll need to decide which branches to keep and add to the remote. If you want to push all of them, just do
git push --mirror. This will push all your tags and your remotes. But since we edited your remotes in an earlier step, it shouldn't be a problem.
If you only want to keep a few, you can
git push -u origin <branch> each one you want.