我正在尝试使用以下命令将一个存储库(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。第六步应该是git pull
而不是push。改进后的列表:
git clone repo1
git clone repo2
cd repo2
git remote rm origin
git remote add repo1
git pull
git remote rm repo1
git remote add newremote
git clone --mirror **url-of-repo1**
git remote remove origin
git remote add origin **url-of-repo2**
git push --all
git push --tags
rm -rf repo1.git
git clone **url-of-repo2.git**
cd repo2
git checkout --track origin/snapshot
git merge snapshot --allow-unrelated-histories
git add README.md
git commit -m "merge track to master"
git push origin master
git clone --bare https://oldRepoURL
cd oldRepoURL
git push --mirror https://newRepoURL
就是这样。非常简单!
我不太确定我所做的是否正确,但它仍然起作用。我重命名了repo1中存在的repo2文件夹,并提交了更改。在我的情况下,我只想合并一个repo,所以这种方法有效。后来进行了一些路径更改。
我在这里看到了很多解决方案。过去对我有用的一个快速一行代码的解决方案是使用--mirror选项。首先进入您想要复制的存储库。然后假设您已经设置了一个新的存储库,使用克隆链接即可。它将复制所有历史记录到您的新存储库。
cd repoOne
git --mirror linktonewrepo.git
--mirror
只是某个命令的标志? - aaossa