场景:我们遵循 git 工作流程:
master分支 - 具有来自各个功能分支的可发布代码
to-be-QAd分支 - 具有尚未由 QA 测试的各个功能分支的代码
- 我从master创建了一个分支feature-A
- 提交了一些更改(提交 1)
- 做了一些更改并提交(提交 2)
- 将分支功能-A合并到to-be-QAd分支
- 意识到该功能在to-be-QAd分支中无法按预期工作
- 切换到feature-A分支并将 --hard 重置为上一次提交(commit 1),因为最后一次提交使代码变得更糟
- 进行更改并提交(提交 3)
- 将 feature-A分支合并到to-be-QAd
- 具有正确代码的文件(这是commit-1的一部分)被错误地合并。合并保留来自提交 2的文件。(该文件在上次提交时未修改。)
不知道这里做错了什么!根据我对git的有限知识,这似乎是一件非常微不足道的事情。
如果我做的事情根本上是错误的,那么在这种情况下正确的方法是什么,你已经合并了一次,需要回到功能分支中的先前版本并再次合并。