所以这就是发生了什么:我在一个分支'A'上并在那个分支上做了一个Git藏匿.然后我切换到另一个分支'B'.我导航回分支'A',但没有做Git stash pop.我切换到主分支然后回到分支'A'.我现在试图去一个git stash pop但是似乎无法恢复我的更改..我需要恢复该代码但是每当我执行git stash pop时,我的文件更改都没有列出.我没有提交任何代码.
有没有办法恢复我所做的更改?非常感谢这方面的任何帮助.
小智 26
我们也遇到了同样的问题.那么,这是我们如何恢复丢失的变化:
回到分支B.
git checkout B
使用git reflog
选项来管理reflog信息.
git reflog --all
输出:
f332d5c refs/stash @ {0}:B上的WIP:aa1d0c1 xyz提交消息
现在,切换到分支A使用 git checkout A
最后,恢复丢失的更改.
git stash应用f332d5c
Ada*_*ruk 17
通过可以查看的藏匿处
git stash list
Run Code Online (Sandbox Code Playgroud)
要么
gitk --all
Run Code Online (Sandbox Code Playgroud)
此外,git stash
不会存储未跟踪的文件.如果您执行此操作并随后执行git checkout --force
另一个分支以覆盖未跟踪的文件与另一个分支中的跟踪文件,则您丢失了该内容.建议的藏匿方式是
git stash -u
Run Code Online (Sandbox Code Playgroud)
这将防止此类损失.
归档时间: |
|
查看次数: |
15200 次 |
最近记录: |