我修改了我的分支中的一些文件,并做了一个
git add --all
但是这增加了一些我不打算为提交添加的文件。
所以我做了一个
git reset --soft HEAD~2 (instead of doing git reset HEAD)
但之前的提交是由其他人提出的,它导致许多文件处于修改/添加/删除状态。有没有办法回到我看到的唯一变化是由我添加/修改的文件的阶段?既然我没有做出实际的提交,有没有办法让我的头回到主人而不会吹走我的变化? git pull导致合并冲突,因为我实际上没有提交我的更改。
谢谢!
答案 0 :(得分:12)
为了将来参考,您可以通过调用git reflog
来查看您的行为导致或遗留的提交,其中包括不再在您工作树中的提交。
答案 1 :(得分:7)
做git reset master
。这只会更新索引以及HEAD
指向的内容。它不会修改您的工作树文件。
答案 2 :(得分:0)
视觉解决方案:打开git gui:
git gui
在提交消息框的底部,选择标有修改上次提交的单选按钮。您将在左侧看到分阶段更改区域。它包含您在上次提交时添加的文件。单击提交中不需要的文件图标,将其从索引中删除。然后按提交按钮再次提交。