有没有办法查看如果我执行git push命令会推送什么?
git push
我想象的是类似于Github“拉取请求”功能的“文件更改”选项卡。当我发出拉取请求时,我可以查看如果他们接受我的拉取请求将拉取什么:
命令行是可以的,但我更喜欢某种GUI(如上面的屏幕截图)。
总是有干燥运行:
git push --dry-run
它将做除了实际发送数据之外的所有事情。
如果你想要一个更图形化的视图,你有很多选择。
Tig和git附带的gitk脚本都显示本地副本的当前分支和远程或源的分支。
因此,您在源之后进行的任何提交都是将被推送的提交。
在您要推送的分支中通过键入gitk&从shell打开gitk,然后要查看远程上的内容和要推送到远程的内容之间的差异,选择您的本地未推送提交并右键单击远程并选择“Diff this->选择”:
gitk&
使用git gui,你可以在那里看到实际提交中更改的内容列表。你也可以使用gitk,它为重新发布提供了一个简单的界面。只需比较remotes/...和master即可查看将推送的内容。它提供了一个类似于你的屏幕截图的界面。
git gui
gitk
remotes/...
master
这两个程序都包含在git中。
对于要推送的文件列表,运行:
git diff --stat --cached [remote/branch]
例子:
git diff --stat --cached origin/master
对于要推送的文件的代码差异,运行:
git diff [remote repo/branch]
要查看将要更改的文件的完整文件路径,请运行:
git diff --numstat [remote repo/branch]
如果您想在GUI中看到这些差异,您需要为此配置git。请参阅如何使用可视化diff程序查看'git diff'输出?。
您可能想运行git difftool origin/master...。这应该显示您当前分支上尚未在原始/主分支上的统一差异,并将其显示在您选择的图形差异工具中。为了最新,首先运行git fetch。
git difftool origin/master...
git fetch
如果您使用的是Mac OS X,我建议您使用Tower,这是一个很棒的程序,它使我与Git打交道成为一种乐趣。我现在不再需要记住终端命令,它提供了一个很棒的GUI来查看、跟踪和解决文件中的差异。
不,我不隶属于他们,我只是使用他们的软件,真的很喜欢它。
在将其推送到远程存储库之前比较您的本地版本的一种方法(类似于试运行中的推送):
使用TortoiseGit: 右键单击根文件夹项目>TortoiseGit>Diff与以前的版本> 对于版本2,选择refs/remotes/origin/master
refs/remotes/origin/master
尝试git diff origin/master..master(假设origin/master是你的上游)。与git push --dry-run不同,即使你没有上游的写权限,这仍然有效。
git diff origin/master..master
origin/master
要查看更改了哪些文件和查看与您可以使用的master分支相比的实际代码更改:
git diff --stat --patch origin master
注意:如果您碰巧使用任何Intellij IDE,那么您可以右键单击您的顶级项目,选择Git>与分支比较>并选择您想要的原点,例如origin/master。在将出现的文件树中,您可以双击文件以查看视觉差异。与上面的命令行选项不同,您可以从差异窗口编辑本地版本。
简单地列出等待推送的提交: (这是你会记住的)
git cherry -v
在SHA1旁边显示提交主题。
您可以通过以下方式列出提交:
然后与以下命令进行比较,其中^的数量等于提交的数量(在示例中为2次提交):
git diff HEAD^^
git diff --stat HEAD remote/branch
再加上我的两分钱… 我想在gitlab运行器上的gitlab管道中运行作业时实现这一点。 最好的方法是使用这个脚本:
git diff --name-only $CI_COMMIT_BEFORE_SHA $CI_COMMIT_SHA
同样在我的情况下,我想通过扩展名过滤文件,为了实现这一点,我使用了:
git diff --name-only $CI_COMMIT_BEFORE_SHA $CI_COMMIT_SHA '*.py'
之后,您可以例如将此列表转发到其他地方,也许是linter;)
希望这将帮助某人。
在git commit -m "{your commit message}"之后,您将在推送之前获得提交哈希。 因此,您可以通过运行以下命令来查看将要使用git推送的内容:
git commit -m "{your commit message}"
git
git diff origin/{your_branch_name} commit hash
e. g:git diff origin/master c0e06d2
git diff origin/master c0e06d2
只是想为PyCharm用户添加: 您可以右键单击文件,->Git->比较分支
然后你可以选择主(或任何其他)