恢复GitHub上的提交

时间:2017-01-25 22:32:49

标签: git github git-revert

我有一组提交(已发布)10+我想要删除。理想情况下,我想创建一个Pull Request,然后将其合并到我项目的develop分支中。

问题在于,如果我在做:

  1. git reset --hard <commit_hash>
  2. git checkout -b my_fixed_branch
  3. git push origin my_fixed_branch
  4. github上的pull请求在diff中没有显示任何内容...(据我所知,这是因为开发分支已包含<commit_hash>的更改)。所以我真的不明白如何正确地重置......

    当然我认为可以做一些像

    这样的事情
    1. git reset --hard <commit_hash>
    2. git push origin develop -f
    3. 直接覆盖开发分支上的更改...但我想改用Pull Request。

2 个答案:

答案 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创建撤消更改的新提交),以便它们可以合并(可能通过拉取请求)。

丢弃它们,但是没有什么可以合并:你需要强制推送(通过执行你在问题中提供的命令)。