【发布时间】:2016-08-15 09:54:58
【问题描述】:
我知道有很多这样的问题,但没有一个解决方案适合我。这是发生了什么:
我尝试在我的应用中添加新功能,因此我创建了一个新分支来实现此功能。
完成后,我将其合并到 master,删除了我测试新功能的分支并将更改推送到存储库 (bitbucket btw)。
代码是正常的。
然后我需要添加其他功能。
然后我再次创建了一个新分支,但现在我在 master 中测试了这个新功能,并让另一个分支使用“正确”的代码。
新功能不起作用,所以我尝试转到另一个分支并将其合并到 master,删除我所做的更改,它给了我一个合并冲突,我尝试了一切,但我没有能够做到。
然后我切换回 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" 并将其推送到存储库,认为代码会在那里修复。它没有,现在我的回购和项目有相同的代码,错误的代码。是否有可能我检查了我使用 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")
【问题讨论】:
标签: git version-control merge bitbucket merge-conflict-resolution