如何将旧电脑Sourcetree中的Stashes迁移至新电脑?
解决Sourcetree Stashes迁移不显示的问题
- 核心逻辑:Sourcetree的stash是Git原生功能,数据存在本地仓库的
.git文件夹里,和你复制的Atlassian配置文件夹无关,只拷配置根本带不走stash数据。 - 最稳妥的迁移方法:把旧电脑上的整个本地仓库文件夹(不是Sourcetree配置目录)复制到新电脑,然后在新Sourcetree里添加这个仓库,打开后就能看到所有原有stash。
- 轻量化迁移方案:如果不想迁移整个仓库,只需复制旧仓库里的
.git/refs/stash和.git/logs/refs/stash两个文件,替换新克隆仓库对应位置的文件(替换前建议备份新仓库的这两个文件),重启Sourcetree即可看到stash。 - 版本差异不背锅:3.4.12和3.4.16的Sourcetree版本差异不会影响stash关联,因为stash是Git核心功能,和Sourcetree版本无关。
- 旧仓库丢失后的手动恢复:
- 在旧电脑的Git Bash中进入目标仓库,执行
git stash list列出所有stash。 - 用
git stash show -p stash@{0} > stash0.patch(把0换成对应stash序号)将每个stash导出为patch文件。 - 把patch文件拷到新电脑,进入新克隆仓库,执行
git apply stash0.patch即可恢复对应stash的内容。
- 在旧电脑的Git Bash中进入目标仓库,执行
内容的提问来源于stack exchange,提问作者cooktheprogrammer
相关产品推荐
相关产品推荐

