测试分支已删除:所有未提交的更改现在都在主分支上丢失了吗?

时间:2012-08-29 16:41:08

标签: git github

这是我第一次使用git,我希望我没有犯错误。

我在主分支上的文件上工作了几个小时。

我创建了一个分支,以便朝着不同的方向努力,然后我决定不这样做。因此,在这个新分支中没有编辑任何文件。

所以我删除了新分支。

现在我在最后几个小时完成的所有更改都在主分支中消失了,我又回到了上次提交的状态。

在我创建分支之前,我没有做过任何事情。

现在我的所有更改都丢失了吗?

我在使用第二个分支时甚至不会触及主分支,当我删除它时,git仍然会等待提交更改。

真的希望你能在这里帮助我。我正在使用Mac上的github应用程序。

让我猜猜发生了什么:

论文:如果没有先提交更改,切勿切换到分支。

我想当我创建第二个分支时,当然这个分支将在最后一次提交时创建。所以一切都已经回到最后一次提交。因此,切换回主分支意味着相同。此处没有要跟踪的文件导致所有内容都返回到上次提交的状态。

我是对的吗?

这意味着当您不总是提交更改时,存在丢失数据的巨大风险。你总是应该在切换分支之前提交。正确?

1 个答案:

答案 0 :(得分:1)

切换分支会随身携带未提交的更改。因此,github认为您所做的更改是测试分支的一部分,而不是主分支。首先提交,运行git checkout。撤消它们,或在切换之前运行git stash。 (您可以使用git stash apply来获取您的更改)。

  

在您的方案中,文件更改已经消失,因为您尚未提交   也没有藏起来。