如何在Git中显示本地和远程文件之间的差异?

时间:2017-10-17 08:46:29

标签: git

由于我是git的新手,我在开始时遇到了一些麻烦。 (git版本2.12.3)

我在服务器上创建了一个文件(在GitLab中),我可以克隆到本地目录。

/*Imports*/
@import "Global_classes";
@import "Global";
@import "Mixins";
//import all pages .less

一切都很好,我有一份文件的本地副本。但是当我将远程内容更改为文件(来自其他人或服务器)时,我无法跟踪或查看本地客户端上的更改,即使它们在主服务器上清晰可见。不是

git clone git@gitlab.server.com:/joe/myproject.git

git diff file1

或其他。

我必须获取文件,合并它,然后我才能看到新编辑的内容。在获取新文件之前,是否可以观察并检测的新变化?

3 个答案:

答案 0 :(得分:2)

为了满足您的需求,您至少需要从远程存储库获取fetch。只有这样 - 在您merge之前 - 您可以在diffbranch之间origin/branch

答案 1 :(得分:1)

我会这样做: -

git fetch origin master

然后我会这样做:

git diff master origin/master

我认为你也可以做一个git pull,它等于上面给出的两个命令,但我更喜欢它单独做,这是一个好主意,我想。以更简化的方式查看本地和远程存储库的区别,语法如下: -

git diff <masterbranch> <remotebranch>

还有git difftool命令显示UI环境中的差异,如果你已经安装了一个,我很少使用它,所以这对我来说是一个未知的领域。玩得开心。

答案 2 :(得分:0)

  

是否可以在获取新文件之前观察并检测新的更改?

不,如果您没有获取更改,您的本地存储库就不会知道它们。

  

我必须获取文件,合并它,然后我才能看到新编辑的内容

你不必合并它,只能获取它!

<强>比较

如果要将本地路径与远程路径进行比较,请使用:

git diff <repo>/<branch> -- <path>

例如:

git diff origin/master -- program.cpp
--- OR ---
git diff origin/master -- Utils/*