Questions tagged «git-diff»

显示工作树和git存储库的提交内容之间的更改,或存储库的两个提交或分支之间的更改。

6
如何获得完整上下文的git diff?
如何创建适合在坩埚中查看的补丁? git diff branch master --no-prefix > patch 这仅生成3行上下文。所以我做以下 git diff --unified=2000 branch master --no-prefix > patch 希望所有文件少于2000行。有没有一种方法可以告诉git将文件中的所有行都包含在补丁中,而不必指定最大行数?
114 git  diff  git-diff 

1
暂存文件的Git列表
我使用上演了很多文件git add,现在我想查看我已上演的所有文件,没有未跟踪的文件或已更改但未上演的文件。 我怎么做?使用时,git diff --cached我可以看到我刚刚上演的内容的变化。所以然后我尝试使用git status --cached但--cached不幸的是无法使用git status。

7
使git diff --stat显示完整的文件路径
在执行git diff --stat操作时,列出了一些文件以及来自存储库基础的完整路径,但列出的一些文件为: .../short/path/to/filename. 那是路径的开始,...只显示了短路径。 我想git diff列出所有文件的完整文件路径,以便脚本可以轻松处理。有什么办法可以让我git diff始终显示完整的路径
104 git  git-diff 

2
如何从GitHub下载单个commit-diff?
我想${SHA}通过Web界面从GitHub 获得一次提交(简称为)。 例如,类似: $ git clone http://github.com/foo/bar $ cd bar $ git format-patch -o .. ${SHA}~1..${SHA} $ cd .. $ rm -rf bar ...但不必克隆整个存储库(所讨论的存储库很大)。 显然,GitHub可以通过Web界面显示给定提交的差异,但是我如何将其提取到(统一的)差异文件中(理想情况下,完整的提交消息)?
104 github  diff  patch  git-diff 

5
“ git diff”什么都不做
我认为这是某个地方的配置错误,但我不知道在哪里。常规的git命令似乎可以正常工作,但“ git diff”什么也没做。为了安全起见,我从.gitconfig文件中删除了外部差异工具。它是通过MacPorts安装的,是最新版本(1.7.2.2)。 我看到的是,当我从工作空间运行“ git diff”时,它只是退出而无所作为。 $ git --version git version 1.7.2.2 $ git diff $ 如果我备份了一个目录,则在根工作区之外,输入“ git diff”会显示以下信息: $ git diff usage: git diff [--no-index] <path> <path> 这可能是预期的行为,因为我不在git存储库下。 关于如何解决此问题的任何想法?
94 git  git-diff 


12
在Git中仅导出具有文件夹结构的已修改和已添加文件
我想获取特定提交中已修改和已添加文件的列表,以便可以导出它们并生成具有文件结构的包。 这个想法是获取软件包并将其提取到服务器上。由于许多原因,我无法创建一个挂钩来自动拉回仓库,而我必须保持服务器更新的最简单方法就是生成此软件包。
82 git  git-diff 

12
使用git diff,如何获得添加和修改的行号?
假设我有一个文本文件 alex bob matrix will be removed git repo 我已经将其更新为 alex new line here another new line bob matrix git 在这里,我添加了行号(2,3)和更新了行号(6) 如何使用git diff或任何其他git命令获取这些行号信息?
79 git  diff  git-diff 

5
Git:显示两次提交之间的总文件大小差异?
是否可以显示两次提交之间的总文件大小差异?就像是: $ git file-size-diff 7f3219 bad418 # I wish this worked :) -1234 bytes 我试过了: $ git diff --patch-with-stat 这样就可以显示差异中每个二进制文件的文件大小差异,但对于文本文件则没有,总文件大小差异也没有。 有任何想法吗?
78 git  filesize  git-diff 

2
忽略所有提交之间的git-diff空格更改
我正在检查代码库并修复空白奇数问题,并且通常会纠正缩进等问题,并且我想确保自己没有无意进行任何其他更改,因此我git diff -w打算在忽略空白的同时显示所有已更改文件中的差异。差异。问题在于,这实际上并没有忽略所有空白差异,至少我认为仅仅是空白差异。例如,在以下来自的输出中git diff -w, -"Links": -{ - - "Thermal": - -{ - + "Links": { + "Thermal": { 你可以看到我只有 删除了多余的空白行, 将花括号放在要打开其值的键行的末尾,然后 缩进以适合上下文 这个问题看起来一开始可能会提供答案,但是它处理的是两个特定文件之间的差异,而不是两个特定提交之间的差异。通过搜索发现的所有其他内容也都死胡同了。例如,这个问题是关于合并而不是显示差异,而这个问题涉及显示单词级差异,等等。
77 git  diff  git-diff 

5
Git真的可以跟踪单个功能从一个文件到另一个文件的移动吗?如果是这样,怎么办?
好几次,我都遇到过这样的说法:如果您将一个函数从一个文件移动到另一个文件,那么Git可以跟踪它。例如,该条目说:“ Linus说,如果您将一个函数从一个文件移动到另一个文件,Git会告诉您该单个函数在整个移动过程中的历史。” 但是我对Git的一些底层设计有些了解,而且我不知道这怎么可能。所以我想知道……这是正确的说法吗?如果可以,这怎么可能? 我的理解是,Git将每个文件的内容存储为一个Blob,并且每个Blob都有一个全局唯一的标识,该标识源自其内容和大小的SHA哈希。然后,Git将文件夹表示为树。任何文件名信息都属于树,而不属于Blob,因此文件重命名例如显示为对树(而不是Blob)的更改。 因此,如果我有一个名为“ foo”的文件,其中包含20个函数,而其中一个名为“ bar”的文件中具有5个函数,并且我将其中一个函数从foo移到了bar(分别导致19和6), Git如何检测到我将该功能从一个文件移到了另一个文件? 据我了解,这将导致2个新的blob存在(一个用于修改的foo,一个用于修改的bar)。我意识到可以计算出差异以表明该功能已从一个文件移至另一个文件。但是我看不到关于函数的历史如何与bar而不是foo关联(无论如何不是自动的)。 如果Git实际上要查看单个文件的内部,并为每个函数计算一个blob(这是疯狂的/不可行的,因为您必须知道如何解析任何可能的语言),那么我可以看到这是可能的。 那么...该陈述正确与否?如果是正确的话,那么我所缺乏的理解是什么?
73 git  git-diff  git-log 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.