有没有办法知道如果我执行git push命令会推送什么?
我所描绘的是类似于Github的“拉请求”功能的“文件更改”选项卡。当我发出一个拉请求时,我可以看看如果他们接受我的拉请求,会拉进什么:
命令行是可以的,但我更喜欢某种图形用户界面(比如上面的截图)。
有没有办法知道如果我执行git push命令会推送什么?
我所描绘的是类似于Github的“拉请求”功能的“文件更改”选项卡。当我发出一个拉请求时,我可以看看如果他们接受我的拉请求,会拉进什么:
命令行是可以的,但我更喜欢某种图形用户界面(比如上面的截图)。
当前回答
在将本地版本推送到远程回购(类似于演练中的推送)之前,比较本地版本的一种方法是:
使用TortoiseGit: 右键单击根文件夹项目> TortoiseGit >差异与以前的版本> 对于版本2选择refs/remotes/origin/master
其他回答
只是想为PyCharm用户添加: 您可以右键单击文件,-> Git ->比较分支
然后你可以选择master(或其他)
如果您有远程写权限
git push --dry-run
如果您没有远程写权限
git diff --stat HEAD remote/branch
总有演练:
git push --dry-run
它会做所有事情,除了实际发送数据。
如果你想要一个更图形化的视图,你有很多选择。
Tig和git附带的gitk脚本都显示本地副本的当前分支和远程或源文件的分支。
任何在原点之后的提交都是会被推送的提交。
在你想要推送的分支中,输入gitk&从shell打开gitk,然后查看远程上的内容和你将要推送到远程的内容之间的差异,选择本地未推送提交,右键单击远程,选择“Diff this -> selected”:
只是补充我的意见… 我想在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 gui,在那里你可以看到在实际提交中所更改的列表。你也可以使用gitk,它为reflogs提供了一个简单的界面。只要比较一下遥控器/…和主人看,什么都会推。它提供了一个类似于截图的界面。
这两个程序都包含在git中。