2013-11-01 67 views
0

基本上我有一个部署的应用程序,我相信是最新的git回购,但我不知道。我在项目根目录中运行了git init,并设置了正确的原点。我测试了连接,我可以连接到回购站并通过运行git ls-remote --heads [email protected]获取分支机构列表。我现在的问题是,有没有一种方法可以使用git diff来查看部署的应用程序是否与某个分支同步,而不检出主控?如果我跑git checkout master,git会怎么做?查看git diff而不检出分支?

编辑:

的问题是,部署的应用程序从未被git的跟踪直接,有人跟踪我的本地机器上,我会通过生成所有修改过的文件的压缩包有推送更新python gif diff脚本,我解压到部署的应用程序目录的根目录。今天,我在gitlab中设置了一个部署密钥,以便我可以在已部署的应用程序上运行git pull。我想一个更好的问题是,最好的方法是什么?自从该应用程序被触动了一段时间以来,我不知道是否有其他开发人员进入并进行了未跟踪更改,我不想失去已部署应用程序的任何更改,因此我希望在那里是查看主控和已部署应用程序之间区别的一种方法。

回答

1

我想你的担心是你不想覆盖本地更改。

没问题 - 只是做

git fetch origin master 
git diff FETCH_HEAD 

或用不同的分支名以上针对不同的分支差异更换master

我还没有测试过这个,但是git fetch没有碰你的工作树,也没有git diff,所以应该是安全的。

+0

@bruchowski对不起 - 尝试'git diff FETCH_HEAD' –

+0

杀手!再次感谢 – bruchowski

0

您可以在分支机构上运行git diff。如果您在回购库中有两个远程数据库,分别名为remote1remote2,并且您想检查两个分支中名为test的分支是否同步,或者只是运行git diff remote1/test remote2/test

+0

更新我的问题,只有一个远程 – bruchowski