由于我是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
或其他。
我必须获取文件,合并它,然后我才能看到新编辑的内容。在获取新文件之前,是否可以观察并检测的新变化?
答案 0 :(得分:2)
为了满足您的需求,您至少需要从远程存储库获取fetch
。只有这样 - 在您merge
之前 - 您可以在diff
和branch
之间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/*