3

我正在使用 TortoiseGit 处理具有远程来源的存储库。我经常不得不在一项更改中停下来处理另一项更改,因此我使用存储功能来封锁我暂停的开发,进行更直接的更改,提交这些更改,推送,然后返回我的存储。

随着时间的推移,这导致了一些隐藏的更改,我试图立即弹出所有这些更改。

前几个存储弹出工作正常。藏匿起来,承诺并重复。但是,最后一个导致错误消息“Stash POP Fail!!!” (天哪!三个感叹号!!!)错误下方的文本表明我试图弹出的文件之一存在合并冲突。

当我在拉取后发生冲突时,我做了我所做的事情:我对冲突文件进行了编辑以解决问题,告诉 git 我已经解决了冲突,最后提交了更改。

但是,再次执行 stash pop 会导致相同的错误,并且尝试解决差异表明 git 正试图从 stash 中提取相同的更改。当我第二次解决冲突并尝试提交时,git 告诉我没有任何改变,因此没有什么可提交的。

最终,为了解决这个问题(并进入更深的藏匿处),我在 SO 上找到了这个有点类似的问题,并在接受的答案的底部一直接受建议。我打开了一个 git bash 提示符并做了一个git stash drop删除导致问题的存储。

我的问题是:

  1. 这是解决问题的最佳方式,还是有一种更直观的方式——理想情况下不会让我担心我会丢弃隐藏的更改?
  2. 如果这是最好的方法,有没有办法在 TortoiseGit 中进行隐藏?我很高兴有 GUI 工具向我展示我正在合并/丢弃的差异,因此尽量避免使用 git 恢复到命令行。
4

1 回答 1

5

从乌龟身上丢下一个藏匿处

  • 您可以使用“shift”->“right click”->“stash list”然后“右键单击”->“delete”将隐藏在乌龟中

在丢弃之前检查存储

如果您担心删除包含要保留的更改的存储,可以将其与当前工作目录进行比较:

  • From tortoise: shift->"right click"->"stash list" and "Compare with working copy"

  • From command line: git stash show -p

于 2012-02-02T21:01:19.167 回答