查看git diff而不签出分支?

查看git diff而不签出分支?,git,Git,基本上,我有一个部署的应用程序,我相信它和git repo是最新的,但我不确定。我在项目根目录中运行了git init,并设置了正确的原点。我测试了连接,通过运行gitlsremote--heads,我能够连接到repo并获得分支列表git@myurl.git。我现在的问题是,是否有一种方法可以使用git diff查看部署的应用程序是否与某个分支同步,而无需签出master?如果我运行git checkout master,git会做什么 编辑: 问题是,git从未直接跟踪部署的应用程序,它是在

基本上,我有一个部署的应用程序,我相信它和git repo是最新的,但我不确定。我在项目根目录中运行了
git init
,并设置了正确的原点。我测试了连接,通过运行
gitlsremote--heads,我能够连接到repo并获得分支列表git@myurl.git
。我现在的问题是,是否有一种方法可以使用
git diff
查看部署的应用程序是否与某个分支同步,而无需签出master?如果我运行git checkout master,git会做什么

编辑:


问题是,git从未直接跟踪部署的应用程序,它是在我的本地计算机上跟踪的,我会通过在部署的应用程序目录的根目录下解压python gif diff脚本生成所有更改文件的tarball来推送更新。今天我在gitlab中设置了一个部署键,这样我就可以在部署的应用程序上运行
git pull
。我想一个更好的问题是,什么是最好的方式让它继续?已经有一段时间没有接触到该应用程序了,我不知道是否有其他开发人员进行了未跟踪的更改,我不想丢失对已部署应用程序所做的任何更改,因此我希望有一种方法可以看到主应用程序和已部署应用程序之间的差异。

您可以在分支上运行
git diff
。如果您的repo中有两个名为
remote1
remote2
的遥控器,您想检查这两个遥控器中名为
test
的分支是否同步,或者不只是运行
git-diff-remote1/test-remote2/test
,我想您担心的是不想覆盖本地更改

没问题,就做吧

git fetch origin master
git diff FETCH_HEAD
或者用上面不同的分支名称替换
master
,以区分不同的分支

我没有对此进行测试,但是
git fetch
不会触及您的工作树,而且
git diff
也不会,因此应该是安全的