首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >本地存储库中的文件与源文件之间的差异

本地存储库中的文件与源文件之间的差异
EN

Stack Overflow用户
提问于 2014-01-14 05:19:28
回答 5查看 337.1K关注 0票数 228

我想找出本地存储库中的文件与origin master中的文件之间的差异。

我知道有git diff。但是,我只想将它隔离到这一个特定的文件。

为简单起见,假设文件名为file1.txt,它有一个本地文件路径= [local_path],在源文件中,它有一个文件路径= [remote-path]

我需要输入的Git命令是什么?

对于那些正在使用Eclipse的人,我发现你只需点击→与→分支比较,标记或参考→选择合适的版本,就可以了。

EN

回答 5

Stack Overflow用户

发布于 2014-01-14 05:23:52

要查看从远程文件到本地文件的差异,请执行以下操作:

代码语言:javascript
复制
git diff remotename/branchname:remote/path/file1.txt local/path/file1.txt

要查看另一个方向的差异,请执行以下操作:

代码语言:javascript
复制
git diff HEAD:local/path/file1.txt remotename/branchname:remote/path/file1.txt

基本上,您可以使用此表示法在任何位置比较任何两个文件:

代码语言:javascript
复制
git diff ref1:path/to/file1 ref2:path/to/file2

通常,ref1ref2可以是分支名称、远程名称/分支名称、提交SHA等。

票数 124
EN

Stack Overflow用户

发布于 2018-08-02 03:39:08

要比较本地存储库和远程存储库,只需使用以下语法:

代码语言:javascript
复制
git diff @{upstream}
票数 28
EN

Stack Overflow用户

发布于 2017-11-03 01:24:02

为此,我编写了一个Bash脚本:

代码语言:javascript
复制
#set -x
branchname=`git branch | grep -F '*' |  awk '{print $2}'`
echo $branchname
git fetch origin ${branchname}
for file in `git status | awk '{if ($1 == "modified:") print $2;}'`
do
echo "PLEASE CHECK OUT GIT DIFF FOR "$file
git difftool  FETCH_HEAD $file ;
done

在上面的脚本中,我将远程主分支(不一定是它的主分支- any分支)获取到FETCH_HEAD,只列出我修改过的文件,并将修改后的文件与git difftool进行比较。

Git支持的difftool有很多,我配置了Meld Diff Viewer来比较好的图形用户界面。

从上面的脚本中,我预先知道了在遵循Git stages untracked→stages→commit之前,同一文件中的其他团队所做的更改,这有助于我避免不必要的解决与远程团队的合并冲突,或者创建一个新的本地分支,并在主分支上进行比较和合并。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21101572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档