How to list only file names that have changes between two branches?
我的存储库中有两个分支,我想对一些文件进行比较。
我只想列出这两个分支之间新添加的迁移
比如:
1 | git diff branch1 branch2 | grep /db/migrate |
谢谢你的帮助
这个命令将区分它们的整个历史
git diff branch1..branch2 --name-only
号
如果你想和他们的上一个共同祖先比较,那么
git diff branch1...branch2 --name-only
号
现在您可以对所需的文件进行grep。从那里可以很容易地编写一个小小的shell脚本,它可以逐个文件地区分两个分支。
1
2
3
4
5
6
7 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命令名文件并将其放入user/bin文件夹(您应该将输入分支参数化为变量)
Git会将其识别为您可以调用的命令
git command-name branch1 branch2
号