Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.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 删除测试分支:主分支上所有未提交的更改现在都丢失了吗?_Git_Github - Fatal编程技术网

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

Git 删除测试分支:主分支上所有未提交的更改现在都丢失了吗?,git,github,Git,Github,这是我第一次使用git,我希望我没有犯很大的错误 我在master branch的档案上工作了几个小时 我创建了一个分支,朝着不同的方向工作,然后我决定不这样做。因此,在此新分支中未编辑任何文件 所以我删除了新的分支 现在,我在最后几个小时所做的所有更改都已在主分支中消失,我已恢复到上次提交的状态 在我创建分支之前,我没有做出任何承诺 我所有的更改都丢失了吗 我认为,在处理第二个分支时,主分支甚至不会被触动,当我删除它时,git仍将等待更改提交 真的希望你能在这里帮助我。我正在mac上使用git

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

我在master branch的档案上工作了几个小时

我创建了一个分支,朝着不同的方向工作,然后我决定不这样做。因此,在此新分支中未编辑任何文件

所以我删除了新的分支

现在,我在最后几个小时所做的所有更改都已在主分支中消失,我已恢复到上次提交的状态

在我创建分支之前,我没有做出任何承诺

我所有的更改都丢失了吗

我认为,在处理第二个分支时,主分支甚至不会被触动,当我删除它时,git仍将等待更改提交

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

让我猜猜发生了什么:

论点:在未先提交更改之前,切勿切换到分支

我想当我创建第二个分支时,当然这个分支将在上次提交之后创建。因此,所有内容都已设置回上次提交。因此,切换回主分支也意味着相同的情况。此处没有要跟踪的文件,因为所有内容都返回到上次提交的状态

我说得对吗


因此,这意味着当您不总是提交更改时,会有丢失数据的巨大风险。在切换分支之前,您应该始终提交。对吗?

切换分支会带来未提交的更改。因此github认为您所做的更改是测试分支的一部分,而不是主分支。要么先提交,要么运行git签出。撤销它们,或者在切换之前运行git stash。(您可以使用git stash apply恢复更改)

在您的场景中,由于您尚未提交,文件更改将消失 也没有藏起来


好的。这将是我的工作流程中非常深刻的。我真的很幸运,我的编辑器仍然打开着我最近的修改,所以我可以简单地复制它们。但这绝对不会再发生了。感谢您对git stash的回答和提示。我还不知道那件事。有点遗憾的是,这个隐藏或标记在github应用程序中不起作用(或者我忽略了什么?)。所以回到终点站来做这些。非常感谢。