Git:1.列出分支中的所有文件,2.比较来自不同分支的文件

Scu*_*cud 79 git

  1. 寻找类似命令ls -Rdir/s可以列出提交/分支中的所有文件.
  2. 有没有命令可以比较来自不同分支的两个文件?谢谢!很多!

Jak*_*ski 125

  1. git ls-tree -r --name-only <commit>(而不是<commit>那里<branch>).
    您可能还想使用另外-t一个列出子目录的选项,然后再下载它们
  2. git diff <branchA>:<fileA> <branchB>:<fileB>,
    或者如果你想比较同一个文件git diff <branchA> <branchB> -- <file>

  • 如果要列出特定目录,可以添加冒号,后跟分支路径,即:git ls-tree -r --name-only master:directory/path/name (4认同)

Dan*_*erz 22

要比较来自不同分支的同一文件:

git diff branch_1..branch_2 file.txt
Run Code Online (Sandbox Code Playgroud)

列出树对象中的所有文件:

git ls-tree -r branch
Run Code Online (Sandbox Code Playgroud)

  • 不仅仅是 `ls`,你还忘记了结尾的 `-tree` :) (2认同)

小智 19

列出新分支中添加的所有文件

git diff --name-only branch1 master
Run Code Online (Sandbox Code Playgroud)

  • 这仅列出已更改的所有文件的名称,而不仅仅是新文件. (4认同)

drs*_*oop 6

列出分支中的文件 git ls-files

  1. 尝试git-scm docugit ls-files中的描述:
# Switch to <branch> of interest
$ git checkout <branch>
# List all files in <branch>
$ git ls-files
Run Code Online (Sandbox Code Playgroud)

有关更多选项,请查看文档