【问题标题】:How do you get your local repo to match the server?你如何让你的本地仓库与服务器匹配?
【发布时间】:2020-10-30 17:48:08
【问题描述】:
    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                         

                          
                                                                            
                                                                            

我应该发出什么命令来让 branch-3 附加到 GitHub 版本上看到的提交“f”?

【问题讨论】:

  • 问题:branch-3 是否已经存在于 GitHub 中?或者,您是否尝试创建一个看起来像这样的branch-3

标签: git git-merge git-fetch


【解决方案1】:

git pull 真的是git fetch 后面跟着git merge

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

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

【讨论】:

  • 优秀。我不知道我可以签出远程跟踪分支。我知道它存在(我可以用“git branch -a”看到它)但因为它不是本地分支,所以我认为这是不可能的。事实上,我确实尝试了“git merge origin/branch-3”,但它添加到了我当前的分支之上。再次感谢
【解决方案2】:

在大多数情况下,您可以执行简单的git pull,然后是git checkout branch-3

【讨论】:

    猜你喜欢
    • 2019-09-30
    • 2013-10-02
    • 1970-01-01
    • 2010-09-20
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多