传输提交到新的远程设备

问题描述

我有以下情况:

enter image description here

您可以看到我正在<red_project>上工作。首先,我在<green_team>中进行研究,但是由于重组,我现在属于<blue_team>

三天前,IT部门将代码上移,直到将dad25697af4<green_team>提交到<blue_team>存储库目录。但是从那以后,对<green_team>存储库中的代码又做了一些提交。

如何将这些最新提交转移到<blue_team>存储库中?

当前在我的外壳中,我看到以下内容

<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>

然后,我将提交或提交范围(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