我通过Github PR意外地将分支合并到master
。立即我恢复了它(也通过github)。几天之后,当代码被测试并准备好合并时,合并和PR实际上并不会将代码放到master中,因为提交已经存在于github中(但代码不存在,因为它已被还原。重新应用通过Github合并和撤销的更改
所以现在我试图让这些更改回主,身价无关提交的两周后这大致就是git log --oneline
输出与相关穴位一些意见:
54c73ee (HEAD, origin/master, origin/HEAD, staging) Merge pull request #637 from leonsas/last-night-view-metric-ceiling
...
More unrelated changes that should stay in.
...
af602f0 Merge pull request #639 from leonsas/staging
67ded36 (origin/staging) Merge <-- Here's where I tried merging the changes again, but it doesn't make it into the codebase.
...
Bunch of unrelated commits that should stay.
...
a603d0b Merge pull request #633 from leonsas/revert-628-hr-hrv-audit
c3da670 (origin/revert-628-hr-hrv-audit) Revert "Hr hrv audit"
01f2fab Merge pull request #632 from leonsas/revert-629-always-get-hrvz
5824fc8 (origin/revert-629-always-get-hrvz) Revert "Always get hrvz" <-- I reverted changes, because code wasn't tested
b75a537 First iteration at setting the max value on the chart
6939035 Merge pull request #631 from leonsas/is-valid-fix
87b53d5 Merge pull request #629 from leonsas/always-get-hrvz <-- These changes I want in
5b9a848 Merge pull request #628 from leonsas/hr-hrv-audit
会是什么将这些更改重新应用回主的最佳方式?
- 更新1
按托马斯的建议,我又试了一次底垫的解决方案:
> git checkout -b hrv-almost-latest-changes e1d0d7b
> git rebase master-clone
First, rewinding head to replay your work on top of it...
Fast-forwarded hrv-almost-latest-changes to master-clone.
> git push --set-upstream origin hrv-almost-latest-changes
但随后master
完全了解最新的hrv-almost-latest-changes
,所以没有什么在github上PR合并。
- 更新2
一般来说,采摘樱桃的罚款。具体的解决办法是:
git checkout master
git checkout -b hrv-merge-fix
git cherry-pick -m 1 87b53d5
(solve conflicts)
git add <files from solved conflicts>
git cherry-pick --continue
git cherry-pick -m 1 5b9a848
git push origin hrv-merge-fix
看起来像这样做的伎俩,与一些解决冲突后的'-m 1'。现在手动查看代码,以确保一切都如预期。 – leonsas