2

我在本地 git fork 中进行了很多更改,我这样做:

  1. git add -A
  2. git commit -m "commit message"
  3. 从上游 master 拉取更改
  4. 变基
  5. git push到我的原点

现在碰巧在我以前的提交和我的新提交之间还有其他几个提交(来自其他人)。

我想在我的新提交中看到我所做的所有更改并继续努力。所以,我愿意

git reset --soft <my previous commit>

它显示了我和其他人修改的文件。

问题:

  1. 查看仅由我修改的文件的方式是什么?
  2. 然后文件显示为已修改,是否可以取消暂存它们?我想在我这样做的时候看到变化git diff
4

2 回答 2

4

你让事情变得如此复杂。无需软重置,只需使用git diff并传递您的提交和之前的提交即可查看更改的内容:

git diff xxxxxx yyyyyy

其中 xxxxxx 是第一个,yyyyyy 是第二个提交哈希值。要获取提交哈希值,请使用git reflog.

更多信息在这里

更新:

正如评论中所建议的,您也可以git difftool xxxxxx yyyyyy用于视觉差异。

于 2016-12-04T07:10:36.233 回答
2

您可以仅过滤您的提交,然后与 HEAD 进行比较。

$ git log --author=<user>           # see your  commits and copy commit-sha
$ git diff <commit-sha>..HEAD       # shows what is in HEAD that is not in <commit>
于 2016-12-04T07:29:32.237 回答