问题描述
我有以下情况:
您可以看到我正在<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