我有一组提交(已发布)10+我想要删除。理想情况下,我想创建一个Pull Request,然后将其合并到我项目的develop分支中。
问题在于,如果我在做:
git reset --hard <commit_hash>
git checkout -b my_fixed_branch
git push origin my_fixed_branch
github上的pull请求在diff中没有显示任何内容...(据我所知,这是因为开发分支已包含<commit_hash>
的更改)。所以我真的不明白如何正确地重置......
当然我认为可以做一些像
这样的事情git reset --hard <commit_hash>
git push origin develop -f
直接覆盖开发分支上的更改...但我想改用Pull Request。
答案 0 :(得分:2)
这将在(不包括)module Adapter
module Dog
def speak
puts "#{name} says: woof!"
end
end
end
class Animal
attr_accessor :name
attr_reader :adapter
def initialize(name)
@name = name
self.adapter = :dog
end
def adapter=(adapter)
@adapter = Adapter.const_get(adapter.to_s.capitalize)
extend(@adapter)
end
end
之后恢复每次提交,直到现在:
<commit_hash>
git revert --no-commit <commit_hash>..HEAD
git commit -m "Message explaining what was done"
选项可确保您获得单个还原提交,而不是多个。
您可以在没有它的情况下还原为每个合并创建单独的还原提交。对于其他用户来说,这可能更清楚,然后Git会免费为您提供提交消息。
答案 1 :(得分:0)
您还原提交(即使用git revert
创建撤消更改的新提交),以便它们可以合并(可能通过拉取请求)。
你丢弃它们,但是没有什么可以合并:你需要强制推送(通过执行你在问题中提供的命令)。