将提交转移到新的远程
Transfer commits to new remote
我有以下情况:
您可以看到我正在处理 <red_project>
。起初我在 <green_team>
工作,但由于重组,我现在属于 <blue_team>
。
三天前,IT 将代码向上移动直到提交 dad25697af4
从 <green_team>
到 <blue_team>
存储库目录。但从那以后,对 <green_team>
存储库中的代码进行了更多提交。
如何将这些最新提交转移到 <blue_team>
存储库?
目前在我的 shell 中,我看到以下内容:
<red_project>$ git remote -v
origin ssh://git@git.<purple>.com:<port>/<green_team>/<red_project>.git (fetch)
origin ssh://git@git.<purple>.com:<port>/<green_team>/<red_project>.git (push)
我想我可能需要添加 ssh://git@git.<purple>.com:<port>/<blue_team>/<red_project>.git
作为新的遥控器,但不确定接下来的步骤。
我会切换到 <blue_team>
存储库,将 <green_team>
存储库添加为新的远程引用:
git remote add origin_green ssh://git@git.<purple>.com:<port>/<blue_team>/<red_project>.git
然后我会根据 How do I fetch only one branch of a remote Git repository?
从那个遥控器获取我需要的数据
git fetch origin_green <branch_name>
然后我将 cherry-pick 提交或提交范围 (How to cherry pick a range of commits and merge into another branch?) 放入 origin_green
上的匹配分支。
如果在 <blue_team>
存储库上没有完成(或正在完成)任何工作,您也可以 git reset --hard origin_green/<branch_name>
.
最后,删除 origin_green
远程引用:
git remote remove origin_green
我有以下情况:
您可以看到我正在处理 <red_project>
。起初我在 <green_team>
工作,但由于重组,我现在属于 <blue_team>
。
三天前,IT 将代码向上移动直到提交 dad25697af4
从 <green_team>
到 <blue_team>
存储库目录。但从那以后,对 <green_team>
存储库中的代码进行了更多提交。
如何将这些最新提交转移到 <blue_team>
存储库?
目前在我的 shell 中,我看到以下内容:
<red_project>$ git remote -v
origin ssh://git@git.<purple>.com:<port>/<green_team>/<red_project>.git (fetch)
origin ssh://git@git.<purple>.com:<port>/<green_team>/<red_project>.git (push)
我想我可能需要添加 ssh://git@git.<purple>.com:<port>/<blue_team>/<red_project>.git
作为新的遥控器,但不确定接下来的步骤。
我会切换到 <blue_team>
存储库,将 <green_team>
存储库添加为新的远程引用:
git remote add origin_green ssh://git@git.<purple>.com:<port>/<blue_team>/<red_project>.git
然后我会根据 How do I fetch only one branch of a remote Git repository?
从那个遥控器获取我需要的数据git fetch origin_green <branch_name>
然后我将 cherry-pick 提交或提交范围 (How to cherry pick a range of commits and merge into another branch?) 放入 origin_green
上的匹配分支。
如果在 <blue_team>
存储库上没有完成(或正在完成)任何工作,您也可以 git reset --hard origin_green/<branch_name>
.
最后,删除 origin_green
远程引用:
git remote remove origin_green