相关疑难解决方法(0)

如何列出提交中的所有文件?

我正在寻找一个简单的git命令,它提供了一个格式良好的所有文件列表,这些文件是散列(SHA1)给出的提交的一部分,没有任何无关的信息.

我试过了:

git show a303aa90779efdd2f6b9d90693e2cbbbe4613c1d
Run Code Online (Sandbox Code Playgroud)

虽然它列出了文件,但它还包含每个文件的不需要的差异信息.

是否有另一个git命令只提供我想要的列表,以便我可以避免从git show输出中解析它?

git git-show

2619
推荐指数
28
解决办法
138万
查看次数

我可以让git diff只显示更改的文件名和行号吗?

基本上,我不希望看到更改的内容,只是文件名和行号.

git git-diff

242
推荐指数
6
解决办法
11万
查看次数

Git diff提交范围中双点".."和三点"..."之间有什么区别?

以下命令之间有什么区别?:

git diff foo master   # a 
git diff foo..master  # b
git diff foo...master # c
Run Code Online (Sandbox Code Playgroud)

diff手册谈到它:

比较分支机构

$ git diff topic master    <1>
$ git diff topic..master   <2>
$ git diff topic...master  <3>
Run Code Online (Sandbox Code Playgroud)
  1. 主题提示与主分支之间的更改.
  2. 与上述相同.
  3. 自主题分支启动以来主分支上发生的更改.

但对我来说并不完全清楚.

git diff git-diff

175
推荐指数
4
解决办法
2万
查看次数

Git:显示两次提交之间的文件总大小差异?

是否可以显示两次提交之间的文件总大小差异?就像是:

$ git file-size-diff 7f3219 bad418 # I wish this worked :)
-1234 bytes
Run Code Online (Sandbox Code Playgroud)

我试过了:

$ git diff --patch-with-stat
Run Code Online (Sandbox Code Playgroud)

这显示了diff中每个二进制文件的文件大小差异 - 但不是文本文件,而不是文件总大小差异.

有任何想法吗?

git filesize git-diff

73
推荐指数
2
解决办法
3万
查看次数

git:显示两次提交之间更改的所有文件

git上的一个riff :显示两次提交之间所有已更改的文件:我想要列出两次提交之间已更改的所有文件,即使它们现在是相同的(即更改然后再更改).

git

63
推荐指数
3
解决办法
4万
查看次数

GIT新/已修改/已删除文件列表

有没有办法在GIT中获取本地/远程存储库中所有新/已删除/已修改的目录/文件的列表?

git diff file list

32
推荐指数
7
解决办法
3万
查看次数

列出Git提交之间具有更改状态的所有已更改文件(已添加,已修改,已删除)

我经常使用以下命令列出两次提交之间更改的文件:

git diff --name-only SHA1 SHA2
Run Code Online (Sandbox Code Playgroud)

它给出了一个像这样的文件列表:

/src/example/file1
/src/example/file2
/src/example/file3

这有多么有用几乎没有尽头.

我真的希望能够在每个文件旁边显示对更改状态的简要参考,指示文件是否已添加,修改或删除.

这是一个展示这个概念的例子:

git diff --name-only --and-how-me-the-change-status SHA1 SHA2
Run Code Online (Sandbox Code Playgroud)
A /src/example/file1
M /src/example/file2
D /src/example/file3

更改状态(A,M,D)仅作为示例显示,我不介意这是什么,只要它是明确的.

我知道我可以使用该--diff-filter选项仅列出添加的文件,或仅列出已修改的文件或仅列出已删除的文件.使用此选项意味着我必须运行三个命令才能获得三个文件名列表.这很好,但可能会更好.

是否有一个命令我可以运行给我上面的示例输出?

git git-diff

30
推荐指数
1
解决办法
2万
查看次数

列出Git/GitHub中拉取请求中更改的所有文件

有没有办法(从命令行)列出Git/GitHub中PR中更改的所有文件的名称?这将用于查找需要在该PR的Travis CI构建中运行哪些测试.

CI构建在调用脚本之前运行这些命令:

git clone --depth=50 git://github.com/jekyll/jekyll.git jekyll/jekyll
cd jekyll/jekyll
git fetch origin +refs/pull/2615/merge
git checkout -qf FETCH_HEAD
Run Code Online (Sandbox Code Playgroud)

git github pull-request

18
推荐指数
4
解决办法
2万
查看次数

查看两个版本之间Android支持库源代码的更改

我想克隆Android支持库的存储库,看看版本24.1.1和24.2.0之间的变化.

我知道存储库位于此处,但是:

  1. 它的最新提交日期是7月1日,尽管最新的支持库24.2.0发布于8月.
  2. 没有支持库版本24.1.1,24.2.0等标签.

我怎样才能看到版本24.1.1和24.2.0之间的提交?

git android android-source android-support-library

13
推荐指数
1
解决办法
556
查看次数

获取与特定分支上文件的上次更改相关的标记名称

  • 我有哪些信息:主分支上的文件名(myfile.txt).上次使用提交"3"修改了文件,导致版本2.

  • 我想要检索的内容:标签名称"0.0.2",其中包括自上一个标签"0.0.1"以来的提交"3"和"4".

在此输入图像描述

  • 我知道的:

(A)如何在2个标签之间获取更改的文件(参见此处):

git diff --name-only 0.0.1 0.0.2
Run Code Online (Sandbox Code Playgroud)

这会打印'myfile.txt'等.

(B)通常应该完全符合我的需要(见这里):

git describe --always `git log --pretty=format:%H -n 1 myfile.txt`
Run Code Online (Sandbox Code Playgroud)

但是我没有得到标签名称'0.0.2'或与此标签相关的提交.相反,我得到了提交3的提交SHA-1,其中包含myfile.txt的最新更改.

(C)如果以下命令打印相应的标记名称,则注释标记:

git for-each-ref --format='%(refname) %(objecttype)' refs/tags
Run Code Online (Sandbox Code Playgroud)

打印:

refs/tags/0.0.1 tag
refs/tags/0.0.2 tag
refs/tags/0.0.3 tag
refs/tags/0.0.4 tag
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:(B)对我来说是正确的方式吗?如果是,我如何更改它确实获得所需的标签名称?还是有另一种方式而不是(B)得到我需要的东西?

git

9
推荐指数
1
解决办法
153
查看次数