我正在使用 TortoiseGit 处理具有远程来源的存储库。我经常不得不在一项更改中停下来处理另一项更改,因此我使用存储功能来封锁我暂停的开发,进行更直接的更改,提交这些更改,推送,然后返回我的存储。
随着时间的推移,这导致了一些隐藏的更改,我试图立即弹出所有这些更改。
前几个存储弹出工作正常。藏匿起来,承诺并重复。但是,最后一个导致错误消息“Stash POP Fail!!!” (天哪!三个感叹号!!!)错误下方的文本表明我试图弹出的文件之一存在合并冲突。
当我在拉取后发生冲突时,我做了我所做的事情:我对冲突文件进行了编辑以解决问题,告诉 git 我已经解决了冲突,最后提交了更改。
但是,再次执行 stash pop 会导致相同的错误,并且尝试解决差异表明 git 正试图从 stash 中提取相同的更改。当我第二次解决冲突并尝试提交时,git 告诉我没有任何改变,因此没有什么可提交的。
最终,为了解决这个问题(并进入更深的藏匿处),我在 SO 上找到了这个有点类似的问题,并在接受的答案的底部一直接受建议。我打开了一个 git bash 提示符并做了一个git stash drop
删除导致问题的存储。
我的问题是:
- 这是解决问题的最佳方式,还是有一种更直观的方式——理想情况下不会让我担心我会丢弃隐藏的更改?
- 如果这是最好的方法,有没有办法在 TortoiseGit 中进行隐藏?我很高兴有 GUI 工具向我展示我正在合并/丢弃的差异,因此尽量避免使用 git 恢复到命令行。