我的git分支正在显示';原点/主控';和';原点/头部';在Sourcetree中,我不';我不知道如何将两者合并
我最近将我正在从事的一个分支与“主”分支合并。我必须(仍然是一种git n00b)在推拉时做了一些事情,创建了我的git分支正在显示';原点/主控';和';原点/头部';在Sourcetree中,我不';我不知道如何将两者合并,git,branching-and-merging,Git,Branching And Merging,我最近将我正在从事的一个分支与“主”分支合并。我必须(仍然是一种git n00b)在推拉时做了一些事情,创建了origin/master和origin/HEAD分支。不幸的是,我没有记录我运行了哪些命令来执行此操作。目前,我的团队在主副本中有一堆代码,我在签出项目时没有得到这些代码(即使我克隆到一个新位置) 以下是Sourcetree所显示内容的屏幕截图: 我真的需要解决这个问题,这样我才能继续工作,任何帮助都将不胜感激。您看到的以origin/开头的分支是所谓的“远程跟踪分支”。它们告诉您上
origin/master
和origin/HEAD
分支。不幸的是,我没有记录我运行了哪些命令来执行此操作。目前,我的团队在主副本中有一堆代码,我在签出项目时没有得到这些代码(即使我克隆到一个新位置)
以下是Sourcetree所显示内容的屏幕截图:
我真的需要解决这个问题,这样我才能继续工作,任何帮助都将不胜感激。您看到的以origin/
开头的分支是所谓的“远程跟踪分支”。它们告诉您上次从存储库获取git时,存储库中分支的位置origin
这没什么好担心的-这实际上是有用的信息。如果您认为这些分支机构的职位已过时,您可以运行:
git fetch origin
。。。更新它们
在任何存储库中,HEAD
是一种特殊的ref(“symref”),表示当前分支(或者当前提交,如果您不在特定分支上)
您可以在图中看到,您的master
分支实际上比origin/master
早一次提交,因此,如果您的同事一直在origin
中推动master
,并且您最近运行了git fetch origin
(或类似的东西),那么您已经完成了所有的工作。然而,他们将错过你的承诺,直到你推动
你说:
目前,我的团队在主副本中有一堆代码,我在签出项目时无法获得这些代码(即使我克隆到了一个新位置)
如果是这样的话,他们可能正在推送到另一个分支、另一个存储库,或者根本没有推送他们的工作。这只是指向master的指针,如果您愿意,是一个符号链接。您可以通过在终端(或git bash/cygwin for windows用户)中执行以下操作安全地删除它:
导航到您的存储库
执行:git远程设定头原点-d
现在它应该消失了:
$ git branch -r
origin/master
这不是你需要担心的事情。我的一些存储库中也有它,但它就像是指向origin/master
的指针。如果您使用git branch-r
,您应该会看到这个.Hmmm。。。你知道为什么我的主人和我的队友的主人如此不同步吗?当然,既然你有不同的存储库,你需要让他们同步。那么,您的问题实际上是“如何将您的工作与origin
的工作合并?”还是git merge origin/
将
与您当前签出的分支合并。这样,您不仅更新了origin
分支的副本,而且还得到了本地分支的更改。我没有提到这一点,因为在OP的情况下,合并origin/master
不会有任何作用-他的master
领先于origin/master
。是的,我这么说只是为了让答案更完整。因为他说“目前,我的团队在他们的主副本中有一堆代码,我在签出项目时没有得到这些代码”,你告诉他要git fetch
,我提到接下来,他应该git merge
。