Git分支切换所有未提交的更改都消失了



我在本地git repo中的许多文件中进行了许多更改。

但是,当我在没有提交更改的情况下使用macGit客户端切换分支时,出现了一个警告窗口,显示有未提交的更改,因此将中止操作。

我想我不能在没有承诺的情况下切换到其他分支机构。但发生的是,我所有的改变都消失了。

我看到了使用git status终端的状态,它的响应是

关于分支branchname您的分支是最新的"origin/branchname"。

无需提交,工作目录清理

我试着知道Git客户端是否使用git stash将其存储为stash,结果是

没有本地更改以保存

我无法恢复该分支未提交的更改!

我想指出的是,您应该使用git存储列表来查看git客户端在存储中放入的任何内容git-stashgit-stash-save

的简写

根据这个博客,在git存储之前,您必须将任何新文件添加到索引中。

在开始git存储之前,请确保添加到工作目录中的任何新文件都已添加到索引中:git存储不会将文件存储(保存)在工作目录中,除非正在跟踪文件(文件的某些版本已添加到索引来)。

这个问题似乎也很相关,尤其是答案和评论。

"您需要一个干净的状态来更改分支。"只有当分支更改影响到"脏文件"时才为true。

然后这个

对于stash方法,我输入了"git stash save"、"git checkout otherbranch",最后输入了"git stash pop"。

我不熟悉GitHub Mac客户端,但它应该在下面使用git命令,这就是它中止的原因。当文件脏时切换分支的唯一方法是执行git checkout -f <branch>

我测试了GitHub Mac客户端,发现它在切换分支时可以神奇地自动隐藏。这在文件中得到了证实。

我刚刚遇到了同样的问题。我是新手。。。我创建了一个分支,第二天发现我没有在我创建的分支中工作。我的更改未提交。我确实尝试过提交它们(gitadd.和gitcommit-m"…"),但我得到了"你已经是最新的了,没有什么可提交的。"我想这可能是因为我的工作第二天就偏离了分支。在这一点上,我的工作就在那里,只是没有投入。所以我把分支切换到我的初始分支。当我这样做的时候,项目更新了,我所有的工作都没了。git存储列表不返回任何内容

切换回master,没有我的更改。我的分行没有零钱。。。我刚刚丢失了大约一天的代码。

我唯一记得的是,当我做git分支时它把海德列为我所在的地方。

我想我的工作没了,我不确定我做错了什么。。。我意识到我从第一天开始在一个分支机构工作,没有确保我在第二天仍在该分支机构是我的错误……但在某个地方,我正在一个无法提交代码的地方编写代码。

最新更新