Unable to diff files in two separate branches in Git

后端 未结 4 403
野性不改
野性不改 2020-12-12 16:01

I have FileA in branchA and FileB in branchB.

The problem is that I can access only one file at time. I would like to be able to compare the files by FileMerge or mel

4条回答
  •  无人及你
    2020-12-12 16:41

    git supports branch names as part of the repository paths. Eg if you have the following files in your repository, README only on master, and UNREADME only on branch:

    master:README
    
    branch:UNREADME
    

    You can diff them via git with:

    git diff branch:UNREADME master:README
    

    You can get a repository artifact to standard output with git show:

    git show branch1:UNREADME
    

    So if your external diff utility can take 2 files on the bash prompt, you can diff them with something like:

    diff-command <(git show branch1:UNREADME) <(git show master:README)
    

    Where the <(...) bash syntax takes the output of the enclosed command, runs it in a pipe and places the file path of the pipe on the command line.

提交回复
热议问题