我正在尝试使用以下命令将一个存储库(repo1)的内容移动到另一个现有的存储库(repo2):
git clone repo1
git clone repo2
cd repo1
git remote rm origin
git remote add repo1
git push
但这并不奏效。我看过一篇类似的文章,但我只发现一个人移动了文件夹,而不是内容。
我正在尝试使用以下命令将一个存储库(repo1)的内容移动到另一个现有的存储库(repo2):
git clone repo1
git clone repo2
cd repo1
git remote rm origin
git remote add repo1
git push
但这并不奏效。我看过一篇类似的文章,但我只发现一个人移动了文件夹,而不是内容。
当前回答
看起来你很接近了。假设不仅仅是提交一个错字,应该cd repo2代替repo1步骤3。第六步应该是拉而不是推。修改了列表:
Git克隆repo1 Git克隆repo2 cd repo2 Git远程rm来源 Git远程添加repo1 git拉 Git远程rm repo1 Git远程添加newremote
其他回答
最简单的方法是,如果代码已经被Git跟踪,那么将新的存储库设置为要推送的“源”。
cd existing-project
git remote set-url origin https://clone-url.git
git push -u origin --all
git push origin --tags
我使用下面的方法通过维护所有分支和提交历史来将我的GIT Stash迁移到GitLab。
将旧的存储库克隆到本地。
git clone --bare <STASH-URL>
在GitLab中创建一个空存储库。
git push --mirror <GitLab-URL>
看起来你很接近了。假设不仅仅是提交一个错字,应该cd repo2代替repo1步骤3。第六步应该是拉而不是推。修改了列表:
Git克隆repo1 Git克隆repo2 cd repo2 Git远程rm来源 Git远程添加repo1 git拉 Git远程rm repo1 Git远程添加newremote
我不太确定我所做的是否正确,但无论如何它都起作用了。我重命名了repo1中的repo2文件夹,并提交了更改。在我的情况下,这只是一个回购,我想合并,所以这种方法是有效的。后来,进行了一些路径更改。
如果您正在从一个github回购迁移到另一个github回购
我建议使用:git clone -bare <URL>而不是:git clone -mirror进行迁移,因为如果你镜像一个github repo,它不仅会克隆源代码相关的东西,还会克隆剩余的pull请求和github引用,导致一个![远程拒绝]错误时推。
我正在谈论这个问题
我推荐的方法是:
git clone——bare <旧的Repo Url> CD <克隆repo>的路径 git push——镜子新回购Url > <
成功迁移所有分支,历史和源代码到github新回购没有任何错误!