2

基本上我有一个部署的应用程序,我认为它与 git repo 是最新的,但我不确定。我git init在项目根目录中运行,并设置了正确的原点。我测试了连接,我能够连接到 repo 并通过运行获取分支列表git ls-remote --heads git@myurl.git。我现在的问题是,有没有一种方法可以git diff在不检查 master 的情况下查看部署的应用程序是否与某个分支同步?如果我跑了,git 到底会做什么git checkout master

编辑:

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

4

2 回答 2

2

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

没问题 - 做

git fetch origin master
git diff FETCH_HEAD

master用上面的不同分支名称替换以区分不同的分支。

我没有对此进行测试,但git fetch没有触及你的工作树,也没有git diff,所以它应该是安全的。

于 2013-11-01T20:47:52.690 回答
0

您可以git diff在分支上运行。如果您的 repo 中有两个远程命名remote1remote2并且您想检查test两者中命名的分支是否同步或不只是运行git diff remote1/test remote2/test

于 2013-11-01T20:26:22.517 回答