【问题标题】:Git: Changes to new branch reflected on master until first commit [duplicate]Git:对新分支的更改反映在master上,直到第一次提交[重复]
【发布时间】:2018-03-28 11:35:05
【问题描述】:

简单的 git 功能问题。我创建了一个新分支,签出该分支,然后对 newbranch 进行更改。在 newbranch 的第一次提交之前,我看到在 master 和 newbranch 执行 git status 时会显示这些更改。如果我在新分支上进行这些更改,它们会出现在 master 上。直到我将这些更改提交给 newbranch,master 才似乎被分离了。 A)我疯了吗? B) 这背后的逻辑是什么?

有一个类似的问题here没有答案。

【问题讨论】:

  • 我想有很多答案可以解决这个问题,here's mine
  • 我已将其作为副本关闭,但我将在此补充一点,对于这种特殊情况,您有两个分支名称指向同一个提交,所以@987654324根据定义,任一名称的 @ 都会对索引或工作树进行 no 更改。因此它总是有效的,并且总是简单地更新 HEAD 以包含新的目标分支名称(并且什么都不做)。

标签: git


【解决方案1】:

只要您没有进行更改,它们仅存在于工作空间中,您可以根据需要多次切换分支。如果您将它们暂存,那么它们将被“安排”到下一次提交,但是您仍然可以在提交之前更改分支。

这种行为是正确的。在某些情况下,您可能会在一个分支上开始工作,但想提交到另一个分支。这很典型,当您需要发送小的更改以进行代码审查或快速修复错误时。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    • 2014-05-24
    • 2018-12-19
    • 2018-04-15
    • 2014-12-25
    • 2010-11-24
    • 1970-01-01
    相关资源
    最近更新 更多