应用使用 --all 创建的 git 存储
Applying a git stash created with --all
我不小心用 --all
选项创建了一个 git 存储,根据文档,
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
仍然列出我的更改,没有任何忽略的文件。我如何 apply
我的藏品而不 git 试图恢复被忽略的文件?
编辑:我刚刚创建了一个测试存储库并做了一个git stash --all
。忽略的文件被隐藏并从文件系统中删除。我的问题是,在我上面的例子中,它们被隐藏了,但是 没有 从文件系统中删除,所以这似乎是问题的原因。
您应该删除这些文件以弹出存储。您可以手动完成,也可以按照以下方法进行:
git stash -all # make a new stash
git stash pop stash@{1} # apply your original stash
如果你喜欢它,你可以放下你所做的新藏品:
git stash drop
使用日志查找您的存储的提交哈希
$ git log --graph --all --decorate --oneline
一切都很重要,因为它还显示藏品
看起来应该与此类似
*-. 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
我刚刚对其进行了测试,它在我的项目中使用了我忽略的文件,它应该也适用于你。
我不小心用 --all
选项创建了一个 git 存储,根据文档,
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
仍然列出我的更改,没有任何忽略的文件。我如何 apply
我的藏品而不 git 试图恢复被忽略的文件?
编辑:我刚刚创建了一个测试存储库并做了一个git stash --all
。忽略的文件被隐藏并从文件系统中删除。我的问题是,在我上面的例子中,它们被隐藏了,但是 没有 从文件系统中删除,所以这似乎是问题的原因。
您应该删除这些文件以弹出存储。您可以手动完成,也可以按照以下方法进行:
git stash -all # make a new stash
git stash pop stash@{1} # apply your original stash
如果你喜欢它,你可以放下你所做的新藏品:
git stash drop
使用日志查找您的存储的提交哈希
$ git log --graph --all --decorate --oneline
一切都很重要,因为它还显示藏品
看起来应该与此类似
*-. 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
我刚刚对其进行了测试,它在我的项目中使用了我忽略的文件,它应该也适用于你。