我经常使用git stash并git stash pop保存和恢复工作树中的更改.昨天我的工作树上有一些变化,我已经藏起来了,然后我对工作树做了更多改动.我想回去查看昨天发生的变化,但git stash pop似乎删除了对相关提交的所有引用.
我知道如果我使用git stash那么.git/refs/stash包含用于创建存储的提交的引用.而.git/logs/refs/stash包含整个存储.但那些参考文献已经消失了git stash pop.我知道提交仍然在我的存储库中,但我不知道它是什么.
有没有一种简单的方法来恢复昨天的隐藏提交引用?
请注意,这对我来说并不重要,因为我有每日备份,可以回到昨天的工作树来获取我的更改.我问,因为必须有一个更简单的方法!
这就是发生的事情:
我有一个分支A.在分支AI上提交了一系列更改.我对代码不满意,所以我检查了分支A中的先前提交.然后我做了一些更改并在分支A上提交它们.现在我无法在任何地方找到此提交.我丢失了这段代码吗?
在github上,我分叉了另一个项目的旧版本.我做了一些更改,并试图将它们推到github上的fork上.我在本地提交了更改,然后尝试了git push,但这只是告诉我"Everything up-to-date".当我在github上浏览项目时,没有任何改变:它仍然显示我的fork上的文件(来自最新版本),未经修改.如何将更改推送到我的github帐户?
(我意识到这不是太多信息......我还能说什么呢?我有一种感觉,这可能是因为我正在直接修改(home)/ git /(project)中的文件......?)
我一直在研究一些代码,我使用git来管理.早些时候,我使用commit来保存我的代码版本.后来我决定重做代码,因为它需要一些新功能并且设计得很差.在我开始工作后,我做了另一个git提交.做完git log后,我看到我不在任何分支上.所以,我做了"git checkout master".这带回了旧代码的版本,git log现在显示了我的最新提交.这是很多工作,所以我想知道是否有任何方法来撤消我所做的,并取回我的最新代码.在此先感谢您的帮助.
我试图提交更改.经过很多问题和冲突,我设法解决了每一个问题.但是,我提交的代码目前不在任何分支上(如git status节目所示).我该如何解决这个问题?我试过几个解决方案,但没有一个对我有效.我尝试了命令,git merge但它说它已经是最新的.
结果git log --all --graph --oneline --decorate是:
* 7833c31 (HEAD) Changed LI tool
* c205a25 Fixed merge conflicts
* 7b10e48 (vsproj/master, master) 4-7-2013
|\
| * cc51cb0 3/9/2013
| * 62ea718 Updated mail and added barcode
| * 9a3573a 1-7-2013
| * 96ded0e Updated ExamsPrinter
| * be6638a 12-25-2012
| * 89cba4b Added HTML to PDF and updated Email app
| * fa96aeb Updates
| * 9ffcfcc Changes in CloudDownloader, LinkedIn …Run Code Online (Sandbox Code Playgroud)