在推送之前如何知道提交/更改列表

Posted

技术标签:

【中文标题】在推送之前如何知道提交/更改列表【英文标题】:How do I know the list of commits / changes before I push 【发布时间】:2012-11-28 19:25:46 【问题描述】:

git status 显示我有 2 个提交

# On branch production
# Your branch is ahead of 'origin/production' by 2 commits.
#

但是 git diff 什么也没显示

【问题讨论】:

【参考方案1】:

git diff 默认情况下不会显示之前提交的任何内容。您应该为此使用git log。要显示最后两次提交,请使用 git log -2

要使用差异比较提交,语法是git diff commit1 commit2。例如,要向您显示之前和现在两次提交之间发生的所有更改,请输入 git diff HEAD^2 HEAD

【讨论】:

【参考方案2】:

更一般地,显示 HEAD 中存在的提交,但不显示原始/生产:

git log origin/production..

带有文件名信息(来自How to have git log show filenames like svn log -v):

git log --stat origin/production..
git log --name-status origin/production..
git log --name-only origin/production..

【讨论】:

【参考方案3】:

我总是使用以下内容来查看我的提交树:

$ gitk

没有参数 git diff 仅显示您的实际更改和实际提交之间的差异,这意味着您自上次 git checkoutgit commit 以来所做的所有更改。

【讨论】:

我认为@Vonc 的回答更可靠。另请注意,gitk 并不总是可用。

以上是关于在推送之前如何知道提交/更改列表的主要内容,如果未能解决你的问题,请参考以下文章

在调用 git push 之前,我如何知道要推送多少个文件? [复制]

如何在 GitHub Action 工作流程中推送或合并之前获取上一个提交?

在提交到itunesconnect之前如何知道iOS应用程序是不是存在有效的“aps环境”

如何拆分隐藏在历史中的 Git 提交?

如何拆分隐藏在历史中的 Git 提交?

Git更改未推送提交的作者[重复]