协慌网

登录 贡献 社区

显示两个修订版之间已更改的文件

我想合并两个已分开一段时间的分支,并想知道哪些文件已被修改。

看到这个链接: http//linux.yyz.us/git-howto.html这非常有用。

比较我遇到的分支的工具是:

  • git diff master..branch
  • git log master..branch
  • git shortlog master..branch

想知道是否有类似 “git status master..branch” 的东西只能看到两个分支之间不同的文件。

在没有创建新工具的情况下,我认为这是您现在可以做到的最接近的工具(如果文件被多次修改,当然会显示重复):

  • git diff master..branch | grep "^diff"

想知道是否有我遗漏的东西......

答案

比较当前分支与master分支

$ git diff --name-status master

比较任何一对分支

$ git diff --name-status firstbranch..yourBranchName

如果我理解正确的话,那应该做你需要的。

尝试

$ git diff --stat --color master..branchName

这将为您提供有关每个更改的更多信息,同时仍使用相同数量的行。

如果要以其他方式合并,您还可以翻转分支以更清晰地了解差异:

$ git diff --stat --color branchName..master

还要记住,git 具有便宜且易于分支的特点。如果我认为合并可能有问题,我会为合并创建一个分支。因此,如果master有我想要合并的更改, ba是我需要 master 的代码的分支,我可能会执行以下操作:

git checkout ba
git checkout -b ba-merge
git merge master
.... review new code and fix conflicts....
git commit
git checkout ba
git merge ba-merge
git branch -d ba-merge
git merge master

最终的结果是我必须在一个扔掉的分支上尝试合并,然后再拧紧我的分支。如果我自己纠缠不清,我可以删除ba-merge分支并重新开始。