我知道有很多像这样的问题,但没有解决方案适合我。发生了什么:
我尝试在我的应用中添加新功能,因此我创建了一个新分支来实现此功能
在我完成后,我将它合并到master,删除了我测试新功能的分支,并将更改推送到存储库(bitbucket btw)。
代码很正常。
然后我需要添加其他功能。
然后我再次创建了一个新分支,但现在我在master中测试了这个其他新功能,并让其他分支使用“正确”的代码。
新功能不起作用,所以我尝试去另一个分支并将其合并到master,删除我所做的更改,它给了我一个合并冲突,我尝试了一切,但我只是不是能够做到这一点。
我切换回主人并用正确的代码删除了分支
我和主人的代码错了。
我还没有推动更改,只提交了,所以我尝试搜索如何解决这个问题,没有工作。
然后我运行了这个命令:git checkout NUMBER OF THE COMMIT
我检查了最后一次推送的提交,它具有正确的代码。
我的项目改为正确的代码,我认为一切正常,我认为它恢复了变化。
我跑了git status
,这就是输出:
HEAD detached at f49fb28
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: .DS_Store
modified: Homework.xcworkspace/xcuserdata/Henrique.xcuserdatad/UserInterfaceState.xcuserstate
no changes added to commit (use "git add" and/or "git commit -a")
然后我与git add -A
一起运行git commit -m "some message"
并将其推送到回购服务器,认为代码将在那里得到修复。它没有,现在我的repo AND项目有相同的代码,错误的代码。是否有可能检查我使用RIGHT功能提交的提交,而不是错误的提交,我的代码恢复到这个确切的提交?如果没有,我唯一的救赎就是重做一切。
请帮助我!
编辑:我现在git status
并且输出现在不同了:
HEAD detached from f49fb28
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: Homework.xcworkspace/xcuserdata/Henrique.xcuserdatad/UserInterfaceState.xcuserstate
no changes added to commit (use "git add" and/or "git commit -a")