git diff master..foo 没有输出,但 foo 没有 merge

标签 git

如果分支没有完全 merge ,git diff 不应该给出一些输出吗?如何解释以下行为:

$ git branch
foo
* master

$ git diff master..foo

$ git br -d foo
error: The branch 'foo' is not fully merged.
If you are sure you want to delete it, run 'git branch -D foo'.

那么我怎样才能知道 foo 中已经完成了哪些工作而我还没有 merge 到 master 中呢?

最佳答案

git log master..foo

将显示 foo 中但不在 master 中的所有提交。

Git diff 本身只会向您显示实际跟踪文件中的差异,这与历史记录不同。例如,foo 可能包含一些后来被撤销的更改。

关于git diff master..foo 没有输出,但 foo 没有 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11531126/

相关文章:

git - 在 Jenkins Pipeline/Jenkinsfile 中获取 git 分支名称

Git 和 ssh 授权

git - 使用 KDiff3 与 Git 编辑差异

git - 我如何 git pull -f

git - 我应该在项目中提交 .rvmrc 文件吗?

linux - 无法通过 HTTPS 在 Linux 上克隆 github 存储库

git - 是否有一个简单的命令可以通过 rebase merge 主题分支?

git - 致命的 : A branch named 'new_branch' already exists

git - 如何将我的 git merge 冲突转换为类似 diff 的格式?

git - 如何查看git中的差异是否是二进制文件的添加/删除?