如何仅列出两个分支之间有变化的文件名?

Dee*_*ale 6 git-diff

我的存储库中有两个分支,我想对某些文件进行区分.

我想仅列出这两个分支之间新添加的迁移

就像是:

git diff branch1 branch2 | grep /db/migrate
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏

Zil*_*yan 12

这个命令将分享他们的整个历史

git diff branch1..branch2 --name-only

如果你想比较他们最后的共同祖先那么

git diff branch1 ... branch2 --name-only

现在你可以grep你想要的文件.从那里可以很容易地编写一个小的shell脚本,它可以逐个文件区分两个分支.

 filenames=$(git diff branch1...branch2 --name-only | grep /db/migratons)
 IFS=' '
 read -r -a filearr <<< "$filenames"
 for filename in "${filearr[@]}"
 do
      echo $(git diff branch1...branch2 -- "$filename")
 done
Run Code Online (Sandbox Code Playgroud)

创建git-command-name文件并将其放入user/bin文件夹(您应该参数化输入 - 分支作为变量)

Git会将其识别为可以调用的命令

git命令名称branch1 branch2