我在本地git repo中的许多文件中进行了许多更改。
但是,当我在没有提交更改的情况下使用macGit客户端切换分支时,出现了一个警告窗口,显示有未提交的更改,因此将中止操作。
我想我不能在没有承诺的情况下切换到其他分支机构。但发生的是,我所有的改变都消失了。
我看到了使用git status
终端的状态,它的响应是
关于分支branchname您的分支是最新的"origin/branchname"。
无需提交,工作目录清理
我试着知道Git客户端是否使用git stash
将其存储为stash,结果是
没有本地更改以保存
我无法恢复该分支未提交的更改!
我想指出的是,您应该使用git存储列表来查看git客户端在存储中放入的任何内容git-stash是git-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分支时它把海德列为我所在的地方。
我想我的工作没了,我不确定我做错了什么。。。我意识到我从第一天开始在一个分支机构工作,没有确保我在第二天仍在该分支机构是我的错误……但在某个地方,我正在一个无法提交代码的地方编写代码。