如果没有工作树错误,则无法使用git-stash

时间:2016-03-24 06:57:07

标签: git

我使用git 2.7.2.windows.1。我遇到“C:\ Program Files \ Git \ mingw64 / libexec / git-core \ git-stash不能在没有工作树的情况下使用。”当我尝试使用 git-stash < / strong>命令。

git worktree list 命令输出:

E:/Git Repositories/test-desktop-client  63bb5ca [master]

如何解决此问题?

2 个答案:

答案 0 :(得分:1)

尝试:

$ git --work-tree=. stash

答案 1 :(得分:0)

如果您处于最近的git worktree(如“managing multiple wroking tree”中),并且存储由于某种原因无效,您可以使用其他工作树存储的替代方法:

  

你正处于重构阶段,你的老板进来并要求你马上解决问题   您通常可以使用git stash临时存储您的更改,但是,您的工作树处于混乱的状态(包含新的,移动的和删除的文件,以及散落的其他部分)我想冒着令人不安的风险。
  相反,您可以创建一个临时链接工作树来进行紧急修复,完成后将其删除,然后恢复之前的重构会话

$ git worktree add -b emergency-fix ../temp master
$ pushd ../temp
# ... hack hack hack ...
$ git commit -a -m 'emergency fix for boss'
$ popd
$ rm -rf ../temp
$ git worktree prune

话虽这么说,git stash应该在git worktree中工作 首先检查git config core.bare是否为假。