我在分支x上,并在它上面添加了更多的提交。我想看看MASTER和我所在的分支在提交方面的所有差异。我可以做一个
git checkout master
git log
然后是
git checkout branch-X
git log
和视觉上的区别,但我希望有一个更简单,更不容易出错的方法。
我在分支x上,并在它上面添加了更多的提交。我想看看MASTER和我所在的分支在提交方面的所有差异。我可以做一个
git checkout master
git log
然后是
git checkout branch-X
git log
和视觉上的区别,但我希望有一个更简单,更不容易出错的方法。
当前回答
我建议使用以下方法来查看“在提交中”的区别。对于对称差分,重复反向参数的命令:
git cherry -v master [your branch, or HEAD as default]
其他回答
这不是完美的答案,但对使用Github的人来说更好:
去你的回购:见解->网络
如果你想使用gitk:
gitk master..branch-X
它有一个漂亮的老式GUi
我认为这是选择和环境的问题。我更喜欢用
git log origin/master..origin/develop --oneline --no-merges
它将显示在develop中不在主分支中的提交。
如果您想查看哪些文件实际上被修改了,请使用
git diff --stat origin/master..origin/develop --no-merges
如果你不指定参数,它将显示完整的差异。 如果你想看到视觉差异,在linux上安装meld,或者在windows上安装WinMerge。确保它们是默认的扩散工具。然后使用类似的东西
git difftool -y origin/master..origin/develop --no-merges
以防你想与当前分支进行比较。使用HEAD比使用use这样的分支名更方便:
git fetch
git log origin/master..HEAD --oneline --no-merges
它将显示所有即将合并的提交
我建议使用以下方法来查看“在提交中”的区别。对于对称差分,重复反向参数的命令:
git cherry -v master [your branch, or HEAD as default]
我使用了一些答案,并找到了一个适合我的情况(确保所有的任务都在发布分支中)。
其他方法也可以,但我发现它们可能会添加我不需要的行,比如合并提交,没有添加任何值。
git fetch
git log origin/master..origin/release-1.1 --oneline --no-merges
或者你可以把你现在的和硕士的比较一下
git fetch
git log origin/master..HEAD --oneline --no-merges
Git获取是为了确保你使用的是更新的信息。
通过这种方式,每个提交都在一行上,您可以复制/粘贴到文本编辑器中,并开始将任务与将要合并的提交进行比较。