2016-08-24 387 views
1
  1. 我在master分支,
  2. 我犯的一切
  3. 然后创建一个新的分支 “混帐结账-b XXX”
  4. 然后我切换回主 “混帐结账大师”
  5. 然后我删除与主分支的一切,而不使用“混帐RM”
  6. 我checkouted分支XXX,分支切换时,它显示了一个长长的清单,每一个文件有一个状态“d”
  7. 然后我发现分支xxx也有一个空文件夹。

这不是因为我可以在分支XXX与恢复问题“GT的复位 - 硬头”为什么一个分支的更改会影响git中的其他分支?

我只是想知道为什么在一个分支删除行为可以影响其他分支?分支机构不存储所有内容吗?

+0

你删除后提交吗?请显示你的'git status'。 –

回答

2

  • 然后我试图合并使用 “GIT中合并XXX” 我的一个分支,它表示 “alread更新日期”
  • 发生这种情况是因为您的xxx分支已合并为,此后xxx没有任何更改。

  • 我checkouted到分支XXX,分支切换时,它显示了一个长列表,每一个文件有一个状态 'd'
  • 你还没“T提交更改而切换到分支 XXX,因此,所有的更改移动到该分支

    我只是想知道为什么删除BEH一个分支上的行为是否会影响另一个分支?分支机构不存储所有内容吗?

    是的。但是,您在分支之间移动您的更改而没有提交,因此您可以在每个“最新”分支中看到它。只要某处提交它,它会表现为预期

    编辑: 删除的文件是相同的操作修改为git的,所以你要提交更改删除后,步骤5和6

    之间的某处
    +0

    我转载了它,似乎如果我没有在分支xxx中提交,它只是它的父项的一个点,所以父项的任何更改都会反映在它自己的分支中。你能否介意更新你的推荐信息,而不是接受它? –

    +0

    @AlbertGao你有点不对。当您对跟踪文件进行更改(即删除它)时,它处于* stage *状态。然后,您可以移动到任何“最新”分支,并且这些更改将会跟随您。然后你可以在任何“最新”分支上提交它,这个删除只会影响当前分支。 git分支中没有父子关系,一旦分支从“父”分支出来,它与其他分支具有相同的等级状态。 –

    +0

    感谢您的澄清,所以它意味着任何“阶段状态”(我使用“git add”)会在我更改分支时跟随我? –

    0

    为了更好地理解git分支,如果您使用Windows,请尝试使用应用程序“Git Extensions”。这个应用程序显示您的回购中的所有分支,它是理解更简单。

    相关问题