有没有办法知道如果我执行git push命令会推送什么?

我所描绘的是类似于Github的“拉请求”功能的“文件更改”选项卡。当我发出一个拉请求时,我可以看看如果他们接受我的拉请求,会拉进什么:

命令行是可以的,但我更喜欢某种图形用户界面(比如上面的截图)。


当前回答

使用git gui,在那里你可以看到在实际提交中所更改的列表。你也可以使用gitk,它为reflogs提供了一个简单的界面。只要比较一下遥控器/…和主人看,什么都会推。它提供了一个类似于截图的界面。

这两个程序都包含在git中。

其他回答

你可能需要运行git difftool origin/master....这将显示当前分支上还没有在原点/主分支上的内容的统一差异,并在您选择的图形差异工具中显示它。要保持最新,请先运行git fetch。

在将本地版本推送到远程回购(类似于演练中的推送)之前,比较本地版本的一种方法是:

使用TortoiseGit: 右键单击根文件夹项目> TortoiseGit >差异与以前的版本> 对于版本2选择refs/remotes/origin/master

如果您有远程写权限

git push --dry-run

如果您没有远程写权限

git diff --stat HEAD remote/branch

你可以通过以下方式列出提交:

git cherry -v

然后与下面的命令进行比较,其中^的数量等于提交的数量(在示例中是2次提交):

git diff HEAD^^

对于要推送的文件列表,运行:

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。看我如何查看'git diff'输出与一个可视化的diff程序?