【发布时间】:2012-07-13 11:41:16
【问题描述】:
这与我的另一个问题 (Switch to another branch without changing the workspace files) 类似,但在那里有效的解决方案现在不起作用。
我需要删除一些很久以前推送到远程主机的更改。所以我不想从 master 中删除提交,但我想更改文件,就像这些更改被还原一样。所以我这样做了:
- 在主人时,
git branch limits git checkout limitsgit rebase --interactive <commit before the ones I wanted to remove>- 在交互式控制台中,我删除了带有我想要还原的更改的提交
所以现在在limits 我有我想要的代码。我怎样才能“移动”它来掌握?使用来自limits 的代码,我想更改为master 分支,但不更改工作区中的任何文件,因此我可以将更改作为对master 的新更改提交。
【问题讨论】:
-
这种情况不就是
git revert的作用吗? -
是的,我不知道。学习新东西总是好的。尽管如此,我仍然希望回答我的问题:)
-
@CarlNorum
git revert是这里的正确答案,如果您发布该答案,我会赞成。此处的交互式变基会更改历史记录,没有必要这样做,而且我们都知道更改推送历史记录不是一个好主意。 -
当我发表评论时,我正在使用我的 iPad;我很高兴将代表让给那些有时间和精力写出更好答案的人。
标签: git branch git-branch