我正在使用Git(在bitbucket上),并且拥有一个存储我的代码的仓库。现在我想将此代码用于另一个完全不同的项目,并进行大量修改。
我了解应该将常见组件抽象为第三方库并使用它,但是为了说明问题,如果我想要将当前存储库克隆到一个新的存储库中,是否可以在不手动复制代码并推送到新存储库的情况下实现?
我了解应该将常见组件抽象为第三方库并使用它,但是为了说明问题,如果我想要将当前存储库克隆到一个新的存储库中,是否可以在不手动复制代码并推送到新存储库的情况下实现?
首先克隆您想要使用的存储库。如果您希望所有操作都在当前文件夹中进行,则可以跳过此步骤。
git clone file:///path/to/repo/
克隆将带入该目录中指定的远程。所以您需要删除不需要的远程。
git remote rm <remote>
在创建远程仓库后,添加您要使用的那些。
git remote add origin <url>
你还需要使用--set-upstream-to
或-u
告诉Git这是远程存储库,该分支将更新到,假设你正在主分支(或默认分支)上。
git push -u origin main
然后你需要决定要保留和添加到远程的哪些分支。如果你想要推送所有的分支,只需执行命令git push --mirror
。这将会推送你的所有标签和远程分支。但由于我们在早前的步骤中编辑了你的远程分支,所以这应该不是一个问题。
如果你只想保留其中几个分支,可以使用git push -u origin <branch>
命令来推送每一个你想要的分支。
您可以使用set-url
将现有的存储库推送到新存储库中:
cd file:///path/to/repo/
git remote set-url origin <new-repo的url>
git push -u origin master
git init newRepo && cd newRepo
git pull <existing repo url> <branch (optional)>