git selection从文件还原本地更改

普拉迪普

在跟踪svn repo的git repo中,我对单个文件进行了多次编辑。

现在,我想还原这些更改(例如svn revert),但只还原文件的一部分。

我希望能够查看文件上的差异,放弃(还原)我不需要的更改并保留我想要的更改。

git add -i 

命令似乎可以选择执行此操作,但是我还不想上演此操作。

保罗·卡普里奥蒂(Paolo Capriotti)

您可以直接使用进行操作git checkout -p请参阅下面的Daniel Stutzbach的答案


旧答案(在checkout -p引入之前):

您可以这样做:

git add -i

(选择要保留的块)

git commit -m "tmp"

现在,您只提交了要保留的更改,其余的则撤消了。

git reset --hard HEAD

此时,未提交的更改已被丢弃,因此您拥有一个干净的工作目录,并且要保留在顶部的更改。

git reset --mixed HEAD^

这会删除上一次提交('tmp'),但会将修改保留在您的工作目录中,且不进行暂存。

编辑:替换--soft--mixed,以清理临时区域。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章