我在代码库中有两个分支,想要针对某些文件进行差异比较。
我只想列出这两个分支之间新增的迁移文件。
比如说:
git diff branch1 branch2 | grep /db/migrate
我该如何做到呢?
我在代码库中有两个分支,想要针对某些文件进行差异比较。
我只想列出这两个分支之间新增的迁移文件。
比如说:
git diff branch1 branch2 | grep /db/migrate
我该如何做到呢?
这个命令会对它们的整个历史进行差异分析:
git diff branch1..branch2 --name-only
如果你想从它们最后的共同祖先开始比较,那么:
git diff branch1...branch2 --name-only
现在你可以搜索你想要的文件。从这里开始编写一个小型的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
如果您想将当前分支与另一个分支进行比较,这样做甚至更容易。熟悉git的人可能会觉得这很明显,但我为那些刚开始使用git的人提供了这个提示。
git diff other_branch_name --name-only