【问题标题】:How to revert part of a commit? [duplicate]如何还原部分提交? [复制]
【发布时间】:2014-06-02 09:20:12
【问题描述】:

在我们的回购历史中有一个提交、推送等。我有 SHA,我想运行 git revert /one/folder/* THESHAID 的等效项,但 git revert 看起来它不能只更改特定文件夹。

有没有办法复制该功能?

【问题讨论】:

  • 您可以手动编辑补丁,使其仅包含所需目录中的更改,然后恢复补丁(补丁 -R -p1 )并提交。

标签: git revert git-revert


【解决方案1】:

这很奇怪,没有按钮也不足为奇,尤其是当蛮力方法如此简单时:

git revert that_commit           # do the whole revert
git reset --hard HEAD^           # in what turns out to have been a throwaway commit
git checkout HEAD@{1} -- one/folder   # and just take what you want of the results

【讨论】:

  • 我也刚刚投票决定将其作为 dup 结束,@vcsjones 的链接答案在概念上更简洁,但执行起来更笨拙,请自行选择。
  • 我查看了另一个答案。这些命令的逻辑对我来说更有意义...
猜你喜欢
  • 2012-05-12
  • 2011-07-18
  • 1970-01-01
  • 1970-01-01
  • 2014-01-03
  • 1970-01-01
  • 2021-12-26
相关资源
最近更新 更多