繁体   English   中英

如何查看尚未在 master 上的分支上的更改?

[英]How to view changes on branch that are not on master yet?

UPD

  1. 创建存储库(ForkPoint)
  2. 创建分支
  3. 做一些提交到分支
  4. 切换回master
  5. master上做一些相同的更改,就像在分支上一样
    (例如,在分支上添加“a”行并删除“b”,然后编辑“c”。
    master做同样的事情:添加行“a”,删除“b”但编辑“d”)
  6. master上做一些提交

所以,现在,在master ,我们有:

$ git diff ForkPoint..master:HEAD
@@@patch@@@  
new line 'a'  
removed line 'b'  
edited line 'd'  

在分支上,我们有:

$ git diff ForkPoint..branch:HEAD
@@@patch@@@
new line 'a'
removed line 'b'
edited line 'c'

现在我想查看分支上的所有更改,除了那些已经在master更改。

$ git checkout master; git diff branch:HEAD
@@@patch@@@
edited line 'd'
edited line 'c'

但是,我不想从ForkPoint..master:HEAD看到master上的其他更改

预期的

@@@patch@@@
edited line 'c'

我需要类似的东西

git cherry -v branch:HEAD

但是这个检查整个提交。 我需要线条。

Git 可能不会为您提供完成此操作的选项,但您可以通过以下方式完成此操作:

git diff master..mybranch | grep -v "^-[^-]"

这将删除所有以单个“-”开头的行,即我master但不在mybranch任何行。

您可能需要根据您的环境采用此方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM