在使用github的过程中,想要进行操作和解决的问题。
step 1
打开目标仓库 git clone https://github.com/username/target-repo.git
cd target-repo
step 2
添加源仓库为远程仓库
git remote add source-repo https://github.com/username/source-repo.git
step 3
拉取原仓库内容
git fetch source-repo
step 4
创建一个新的分支
git checkout -b new-branch
step 5
将源仓库的内容迁移到新的分支
git merge source-repo/main --allow-unrelated-histories
以下有在迁移过程中碰到的问题:
无法切换到自己目标仓库的分支,因为没有进行迁移合并,但是我们是为了把另一个仓库整个内容覆盖到新建的分支。所以我们需要进行以下步骤操作:
1.放弃当前合并操作 git merge --abort
2.放弃后切换到目标仓库的新建分支:git checkout week-4
3.强制将你原来的分支内容重置到你目标要放置的分支里:git reset --hard week-4-end(原来分支名称week-4-end可替换)
操作这一步的时候可能会报错,那么我们需要使用git branch -a 指令,来查看本地分支里面是否有我们源分支(白色字体是我们的本地分支,下面红色字体是我们远程分支,所以通过示例来看,我们可以看到总共有2+3个分支)
如果没有看到我们的源分支(week-4-end)
使用命令拉取到本地:git fetch origin
如果拉取不成功或者成功,继续先创建一个本地分支来跟踪远程的week-4-end分支:git checkout -b week-4-end origin/week-4-end
强制重置分支
git checkout week-4
git reset --hard week-4-end
4.推送更改到远程仓库:git push origin week-4 --force
成功迁移