
# 如何从主库同步代码到个人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
   ```
   
   
 
