繁体   English   中英

git藏匿混乱

[英]Git stashing confusion

问题是隐藏的更改不会保留在我隐藏的分支中。 其他分支存储将被覆盖示例:

我做:

    git checkout iss4
// made some changes
    git stash

它说:

Saved working directory and index state WIP on iss4: 9dd2345 /.../

然后我做:

git checkout master

当我现在执行git stash show ,它仍然突然可以看到我的隐藏更改。 这样就可以覆盖其他分支上的所有其他存储。 是的,当我意识到这一点时,我已经失去了大约一个星期的工作:/( 编辑:出来,我没有失去它,一切都在我的藏匿处列表中=))

我的问题是如何做到这一点,以便我可以一次在多个分支机构工作。

散剂不是特定于分支的; 当他们记住应用(作为其父对象)哪个HEAD时,它们“全局”存在于存储库中。

但是,更重要的是,存储不限于单个存储。 如果您只是执行git stash ,则可能是您积累了大量的git stash 您可以使用git stash list查看所有git stash list 如果要对当前工作目录应用特定的存储,则只需执行git stash apply stash@{N}

存放区是用于临时存储信息的单个位置,它没有存储分支特定信息的真实概念。

您提到您失去了一个星期的工作。 我建议使用存储作为例外。 在大多数情况下,您应该依赖于频繁提交到本地分支。 这样,您将拥有提交消息和历史记录,还可以将所需的代码合并和挑选代码到其他分支中。

这是使用分布式版本控制系统的强大功能之一。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM