在团队项目之间移动 Git 个存储库
Move Git repositories between team projects
我想移动一个项目及其所有历史和提交,包括任何功能分支,但我一直没有成功。
不幸的是,5 'easy' steps visualstudio 文章中的详细说明没有明确说明何时需要使用源或目标克隆 url 或者我应该在哪个文件夹中。
我做了以下操作,它只是克隆了我的文件,但没有克隆功能分支,即使消息说它已经创建了它。
这是我当前项目所在的位置 oldTeam > myProject。我想把它转移到我的新团队;新团队 > 我的项目
我在 newTeam 下为 myProject 创建了一个新的存储库并复制了克隆 URL
在Git命令中
c:\webapps\oldTeam\myProject> git clone --mirror [从上面的步骤克隆 URL]
Cloning into bare repository 'myproject.git'...
warning: You appear to have cloned an empty repository.
c:\webapps\oldTeam\myProject> git push --mirror [从上面的步骤克隆 URL]
Counting objects: 446, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (364/364), done.
Writing objects: 100% (446/446), 3.81 MiB | 0 bytes/s, done.
Total 446 (delta 79), reused 416 (delta 64)
remote: Analyzing objects... (446/446) (478 ms)
remote: Storing packfile... done (435 ms)
remote: Storing index... done (43 ms)
To [cloned URL from above step]
* [new branch] develop -> develop
* [new branch] master -> master
* [new branch] origin/HEAD -> origin/HEAD
* [new branch] origin/develop -> origin/develop
* [new branch] origin/feature/XYZ -> origin/feature/XYZ
* [new branch] origin/master -> origin/master
当我查看我的新存储库时,我可以看到我的文件、主分支和开发分支,但看不到我的功能分支。我究竟做错了什么?
你可以在推送输出消息中发现 develop
和 master
分支前面没有 origin/
,这意味着你的本地 repo 只有 develop
和 master
本地分支。
所以你需要在本地签出功能分支,然后推送到另一个空的trpo。详细步骤如下:
git checkout feature/XYZ
git push --mirror [cloned URL from above step]
由于新的repo不再是空的,你可以通过另一种方式push feature/XYZ到新的repo:
git remote add new [cloned URL from above step]
git push new feature/XYZ
我想移动一个项目及其所有历史和提交,包括任何功能分支,但我一直没有成功。
不幸的是,5 'easy' steps visualstudio 文章中的详细说明没有明确说明何时需要使用源或目标克隆 url 或者我应该在哪个文件夹中。
我做了以下操作,它只是克隆了我的文件,但没有克隆功能分支,即使消息说它已经创建了它。
这是我当前项目所在的位置 oldTeam > myProject。我想把它转移到我的新团队;新团队 > 我的项目
我在 newTeam 下为 myProject 创建了一个新的存储库并复制了克隆 URL
在Git命令中
c:\webapps\oldTeam\myProject> git clone --mirror [从上面的步骤克隆 URL]
Cloning into bare repository 'myproject.git'...
warning: You appear to have cloned an empty repository.
c:\webapps\oldTeam\myProject> git push --mirror [从上面的步骤克隆 URL]
Counting objects: 446, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (364/364), done.
Writing objects: 100% (446/446), 3.81 MiB | 0 bytes/s, done.
Total 446 (delta 79), reused 416 (delta 64)
remote: Analyzing objects... (446/446) (478 ms)
remote: Storing packfile... done (435 ms)
remote: Storing index... done (43 ms)
To [cloned URL from above step]
* [new branch] develop -> develop
* [new branch] master -> master
* [new branch] origin/HEAD -> origin/HEAD
* [new branch] origin/develop -> origin/develop
* [new branch] origin/feature/XYZ -> origin/feature/XYZ
* [new branch] origin/master -> origin/master
当我查看我的新存储库时,我可以看到我的文件、主分支和开发分支,但看不到我的功能分支。我究竟做错了什么?
你可以在推送输出消息中发现 develop
和 master
分支前面没有 origin/
,这意味着你的本地 repo 只有 develop
和 master
本地分支。
所以你需要在本地签出功能分支,然后推送到另一个空的trpo。详细步骤如下:
git checkout feature/XYZ
git push --mirror [cloned URL from above step]
由于新的repo不再是空的,你可以通过另一种方式push feature/XYZ到新的repo:
git remote add new [cloned URL from above step]
git push new feature/XYZ