我经常使用git stash并git stash pop保存和恢复工作树中的更改.昨天我的工作树上有一些变化,我已经藏起来了,然后我对工作树做了更多改动.我想回去查看昨天发生的变化,但git stash pop似乎删除了对相关提交的所有引用.
我知道如果我使用git stash那么.git/refs/stash包含用于创建存储的提交的引用.而.git/logs/refs/stash包含整个存储.但那些参考文献已经消失了git stash pop.我知道提交仍然在我的存储库中,但我不知道它是什么.
有没有一种简单的方法来恢复昨天的隐藏提交引用?
请注意,这对我来说并不重要,因为我有每日备份,可以回到昨天的工作树来获取我的更改.我问,因为必须有一个更简单的方法!
我正在使用git并在master分支上工作.这个分支有一个名为的文件app.js.
我有一个experiment分支,我做了一堆变更和大量的提交.现在我希望把做只对所有变化app.js从experiment到master分支.
我怎么做?
再一次,我不想合并.我只是想把所有的变化app.js从experiment分支带到master分支.
我可以从vscode执行各种git命令,但是我找不到一种可视化历史记录的方法.
在不止一次的情况下,我发现自己不小心执行了git checkout /path/to/file删除我在文件中的本地更改的操作,但未添加/提交更改。
有什么办法可以撤销吗?
我试图将更改推送到 git 存储库,因此我运行一个常用命令将文件添加到阶段。
git add --all
但是从这些文件中,我假装排除了某个特定文件,并且错误地运行了:
git checkout <file>
代替
git reset <file>
结果,我的文件更改恢复到最后的状态。我丢失了所有最近的更改......
我怎样才能恢复这个混乱?