我的存储库中有两个分支,我想对某些文件进行区分。
我想仅列出这两个分支之间新添加的迁移
类似的东西:
git diff branch1 branch2 | grep /db/migrate
感谢任何帮助
答案 0 :(得分:7)
此命令会将他们的整个历史记录分开
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
创建git-command-name文件并将其放入user / bin文件夹(您应该将输入参数化 - 分支作为变量)
Git会将其识别为可以使用
调用的命令git command-name branch1 branch2