Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的git分支正在显示';原点/主控';和';原点/头部';在Sourcetree中,我不';我不知道如何将两者合并_Git_Branching And Merging - Fatal编程技术网

我的git分支正在显示';原点/主控';和';原点/头部';在Sourcetree中,我不';我不知道如何将两者合并

我的git分支正在显示';原点/主控';和';原点/头部';在Sourcetree中,我不';我不知道如何将两者合并,git,branching-and-merging,Git,Branching And Merging,我最近将我正在从事的一个分支与“主”分支合并。我必须(仍然是一种git n00b)在推拉时做了一些事情,创建了origin/master和origin/HEAD分支。不幸的是,我没有记录我运行了哪些命令来执行此操作。目前,我的团队在主副本中有一堆代码,我在签出项目时没有得到这些代码(即使我克隆到一个新位置) 以下是Sourcetree所显示内容的屏幕截图: 我真的需要解决这个问题,这样我才能继续工作,任何帮助都将不胜感激。您看到的以origin/开头的分支是所谓的“远程跟踪分支”。它们告诉您上

我最近将我正在从事的一个分支与“主”分支合并。我必须(仍然是一种git n00b)在推拉时做了一些事情,创建了
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