作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Github 上 merge 了一个 PR,不得不还原,所以我使用 Github 界面上的还原按钮来完成。
一个新的 PR 是从与恢复的分支相同的分支创建的,但添加了一些内容。当我 merge 新 PR 时,旧 PR 的一些更改部分丢失了。
请注意,在还原后添加了一些提交
我正在考虑使用 Github UI 再次还原以前的还原,但我不确定这会做什么,找不到任何与此相关的文档。
我很想知道为什么代码会丢失以及如何避免这种情况。另外,解决此问题的最佳方法是什么,再次使用还原选项?
ed3240aa (HEAD -> version/2, origin/version/2) Merge branch 'version/2' of github.com:umbrella/app into version/2
8d7b6a8f Bump version of app
8b268172 Fix error in condition for disavowing excluded alerts
a12eca40 Point app to staging
5c83c0bb Merge pull request #1090 from umbrella/revert-1088-add-sentiment // Merge PR with reversion
3ab766fc Revert "Add sentiment insight" // Revert happened here
132a9e64 Merge pull request #1089 from umbrella/nana_sources
acaec5e0 Merge branch 'version/2' into nana_sources
881925d7 - finished showing the dimension sources
df0b0ead Merge pull request #1088 from umbrella/add-sentiment
5bc3165d Merge pull request #1087 from umbrella/sync-exclude
c6936a2e (origin/sync-exclude, sync-exclude) Remove spurious logs
最佳答案
当您还原时,git 创建一个新提交,其中包含已还原提交的“相反”。例如,假设你做了一个 git revert 39f5
,那么你有这个:
* 8998 (HEAD -> master) Revert "Do stuff that is needed"
* 39f5 Do stuff that is needed
* 8573 First commit
8998
commit 是还原,但它仍然是一个正常的提交。它只包含“相反”作为
39f5
.这就像您手动取消所有更改一样。
39f7
已经不在了!如果您提出 pull 请求,则不包括在内。如果您希望将其包含在内,您有两个选择:
git revert 8998
将摆脱还原,您将恢复原始更改(其中有错误)。然后,修复另一个提交中的错误并执行您的 pull 请求。 git reset 39f5
将回到提交 39f5
,并“删除”还原。它将不再在您的历史记录中,因此 39f5
中的所有更改将在那里。再次,修复另一个提交中的错误并执行 pull 请求。 关于git - 撤消 "Reverting a pull request",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52366893/
我是一名优秀的程序员,十分优秀!