看看git diff而不检查分支?

时间:2013-11-01 20:14:48

标签: git

基本上我有一个部署的应用程序,我相信与git repo是最新的,但我不确定。我在项目根目录中运行了git init,并设置了正确的来源。我测试了连接,我可以通过运行git ls-remote --heads git@myurl.git连接到repo并获得分支列表。我现在的问题是,有没有办法使用git diff查看部署的应用程序是否与某个分支同步而不检查主数据?如果我运行git checkout master,git究竟会做什么?

修改

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

2 个答案:

答案 0 :(得分:1)

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

没问题 - 只需

git fetch origin master
git diff FETCH_HEAD

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

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

答案 1 :(得分:0)

您可以在分支机构上运行git diff。如果您的仓库中有两个名为remote1remote2的遥控器,并且您想检查两个中名为test的分支是否同步,则只需运行git diff remote1/test remote2/test