gpt4 book ai didi

git - 应用使用 --all 创建的 git stash

转载 作者:太空狗 更新时间:2023-10-29 13:59:42 25 4
gpt4 key购买 nike

我不小心用 --all 选项创建了一个 git stash,根据文档,它是

If the --all option is used instead then the ignored files are stashed and cleaned in addition to the untracked files.

所以现在用 git stash pop 恢复我的更改失败了:

some/ignored/file already exists, no checkout
Could not restore untracked files from stash

(我实际上应该做的是使用--include-untracked)

git stash show -p 仍然列出我的更改,没有任何忽略的文件。我如何在 git 不尝试恢复被忽略的文件的情况下应用我的存储?

编辑:我刚刚创建了一个测试存储库并执行了一个git stash --all。忽略的文件被 stash 并从文件系统中删除。我的问题是,在我上面的例子中,它们被 stash 了,但没有从文件系统中删除,所以这似乎是问题的原因。

最佳答案

使用日志查找您的存储的提交哈希

$ git log --graph --all --decorate --oneline

一切都很重要,因为它还显示了 stash

它应该看起来像这样

*-.   cd5e9ae (refs/stash) WIP on master: cd48088 Fixed GET chats output
|\ \
| | * e48d0d7 untracked files on master: cd48088 Fixed GET chats output
| * 1a3bf97 index on master: cd48088 Fixed GET chats output
|/
* cd48088 (HEAD, origin/master, master) Fixed GET chats output

现在,你想检查存储的顶部(这里是 cd5e9ae)

$ git checkout cd5e9ae

您将处于分离的 HEAD 状态
向后重置它,保留更改

$ git reset HEAD~1

然后像你想的那样把它藏起来

$ git stash --include-untracked

现在您可以回到 master 或您工作的任何地方并应用新的正确存储

$ git checkout master
$ git stash pop

灵感来自 this blog post

我刚刚对其进行了测试,它在我的项目中与我忽略的文件一起工作,它应该也适用于你。

关于git - 应用使用 --all 创建的 git stash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32092351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com