你如何让你的本地仓库与服务器相匹配?

How do you get your local repo to match the server?

    b-c-d     <= branch-1         On GitHub                                     
   /                                                                            
  a-e-f-g     <= branch-2                                                       
      \                                                                         
       h-i    <= branch-3                                                       
                                                                                
                                                                                
    b-c-d     <= branch-1         On local                                      
   /                                                                            
  a-e-f-g     <= branch-2                                                       
                                                 

                           
                                                                            

如果我在 Branch-1 上执行“git pull origin branch-3”,我最终得到

    b-c-d-h-i <= branch-1         On local                                      
   /                                                                            
  a-e-f-g     <= branch-2                     

                              
                                                                            
                                                                            

如果我在 Branch-2 上执行“git pull origin branch-3”,我最终得到

    b-c-d     <= branch-1         On local                                      
   /                                                                            
  a-e-f-g-h-i <= branch-2                         

                          
                                                                            
                                                                            

如 GitHub 版本所示,我要发出什么命令才能将 branch-3 附加到提交“f”?

在大多数情况下,您可以做一个简单的 git pull,然后 git checkout branch-3

git pull 实际上是 git fetch 后跟 git merge

当您 运行 git pull branch-3 在 branch-1 或 branch-2 上时,您是在告诉 git 将 branch-3 合并到 branch-1 或 branch-2。

branch-3 可能已经作为远程跟踪分支存在于您的本地存储库中(您可以通过 运行ning git branch --list --all 查看它)。您可以使用 git 快捷方式创建跟踪远程分支的本地分支:git checkout branch-3。此命令指出 remotes/origin/branch-3 存在并假定您要创建一个新的本地分支来跟踪远程分支。