Show both staged & working tree in git diff?

后端 未结 3 728
遇见更好的自我
遇见更好的自我 2020-12-05 06:44

If I run git diff I see the changes in my working tree, and if I run git diff --staged (alternatively --cached) then I see the changes

3条回答
  •  情话喂你
    2020-12-05 07:07

    Is there a way with git diff to see all in one go?

    There is, with Git 2.4.0+ (April 2015).

    See commit 4055500 from Michael J Gruber mjg:

    commit/status: show the index-worktree diff with -v -v (or -vv)

    git commit and git status in long format show the diff between HEAD and the index when given -v. This allows previewing a commit to be made.

    They also list tracked files with unstaged changes, but without a diff.

    Introduce '-v -v' (or -vv) which shows the diff between the index and the worktree in addition to the HEAD index diff. This allows a review of unstaged changes which might be missing from the commit.

    In the case of '-v -v' (or -vv), additional header lines

    Changes to be committed:
    

    and

    Changes not staged for commit:
    

    are inserted before the diffs, which are equal to those in the status part; the latter preceded by 50*- to make it stick out more.

    In the OP's case, a simple git status -v -v (or git status -vv) will show both staged and unstaged diffs.

提交回复
热议问题