how to show differences between some or all files? GIT

后端 未结 3 1695
半阙折子戏
半阙折子戏 2020-12-31 11:01

As in the subject: how to show differences betwen some or all files?

Sorry i\'ve screwed up my question. I meant differences betwen branches for one or multiple or a

相关标签:
3条回答
  • 2020-12-31 11:15

    Or perhaps a bit more helpful:

    git diff <commit1> <commit2> -- path/to/file.cpp path/to/anotherfile.cpp path/to/subdir
    

    You can also (in e.g. bash)

    git diff {<commit1>,<commit2>}:path/to/file.cpp
    

    This way you can even

    git diff <commit1>:path/to/file.cpp <commit2>:path/to/anotherfile.cpp
    

    which is quite insane powerful, IMHO.

    Replace <commit1> and <commit2> by any name of tag, branch (local or remote) or direct sha1 hash of a commit (this is known as a commit-ish)

    To get really funky, you can specify tree-ish or blob hashes if you want. Do something completely silly with this for a sample:

    $ git ls-tree HEAD^ | grep blob | sort -R | head -2
    100644 blob 27785581e788049ac805fab1d75744dd7379735d    .gitignore
    100644 blob 2821a5271ffd8e6b11bb26b8571f57e88ab81f38    TESTING
    
    $ git diff --stat 2821a5271ffd8e6b11bb26b8571f57e88ab81f38 aa96765714a3058068c4425d801fab4b64e26066
     ...f38 => aa96765714a3058068c4425d801fab4b64e26066 |  155 +++++++++++++++++---
     1 files changed, 135 insertions(+), 20 deletions(-)
    

    Now you won't usually do this, unless you have several versions of the 'same' file in you repo (which is iffy, if you ask me).

    0 讨论(0)
  • 2020-12-31 11:23

    Your question is quite vauge, but i think you are looking for:

    git diff
    

    http://www.kernel.org/pub/software/scm/git/docs/git-diff.html

    0 讨论(0)
  • 2020-12-31 11:38
    git diff
    

    Will show you the pending modified changes of un committed files

    Review the docs on this command for the many different ways you can use it to see the differences between files

    0 讨论(0)
提交回复
热议问题