文档首页/ 代码托管 CodeArts Repo/ 常见问题/ Fork同步问题/ 如何从主库同步代码到个人Fork出来的派生库
更新时间:2024-11-11 GMT+08:00

如何从主库同步代码到个人Fork出来的派生库

问题现象

在CodeArts Repo上可以将主库代码仓Fork到个人其它项目下,此功能有助于协同开发,但在使用Fork模式开发时,可能会遇到问题:当主库(源项目)更新后,Fork库并不会一起更新,需要自己手动更新。

您可以通过如下操作将主库代码同步到个人Fork出来的派生库。

例如:

主仓地址: https://test.com/f2e22eeb1b8c43cfb764765f5e3ff039/AlphaGo/TestService.git

Fork仓地址: https://test.com/f2e22eeb1b8c43cfb764765f5e3ff039/Roger/TestService.git

分支名:master

解决方案

  1. Clone个人空间里的Fork仓库到本地。

    git clone https://test.com/f2e22eeb1b8c43cfb764765f5e3ff039/Roger/TestService.git
    cd TestService

  2. 增加远程原始仓(主库仓)到本地(可以用 git remote -v 命令查看远程仓列表)

    git remote -v

  3. 如果没有远程原始仓,则需要增加:

    git remote -v      
    origin  https://test.com/f2e22eeb1b8c43cfb764765f5e3ff039/Roger/TestService.git (fetch)      
    origin  https://test.com/f2e22eeb1b8c43cfb764765f5e3ff039/Roger/TestService.git (push)

  4. 查看确认远程仓列表。

    git remote -v      
    origin  https://test.com/f2e22eeb1b8c43cfb764765f5e3ff039/Roger/TestService.git (fetch)      
    origin  https://test.com/f2e22eeb1b8c43cfb764765f5e3ff039/Roger/TestService.git (push)      
    main https://test.com/f2e22eeb1b8c43cfb764765f5e3ff039/AlphaGo/TestService.git (fetch)      
    main https://test.com/f2e22eeb1b8c43cfb764765f5e3ff039/AlphaGo/TestService.git (push)

  5. 获取原始仓(主库仓)的branch分支最新代码到本地,合并两个版本的代码。

    git pull main master

  6. 把合并后的最新代码同步到fork仓上。

    git push origin master