相关疑难解决方法(0)

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

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

我试过了:

git show a303aa90779efdd2f6b9d90693e2cbbbe4613c1d
Run Code Online (Sandbox Code Playgroud)

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

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

git git-show

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

如何与其父级进行提交?

除了编写别名或脚本之外,是否有更短的命令来获取特定提交的差异?

git diff 15dc8^..15dc8
Run Code Online (Sandbox Code Playgroud)

如果您只提供单个提交ID git diff 15dc8,则会针对HEAD区分该提交.

git git-diff

447
推荐指数
5
解决办法
13万
查看次数

使用.gitconfig配置diff工具

如何配置Git使用不同的工具与.gitconfig文件进行区分?

我在.gitconfig中有这个:

[diff]
    tool = git-chdiff #also tried /bin/git-chdiff
Run Code Online (Sandbox Code Playgroud)

这是行不通的; 它只是打开常规命令行diff.当我做

export GIT_EXTERNAL_DIFF=git-chdiff
Run Code Online (Sandbox Code Playgroud)

然后git diff将打开外部差异工具(所以我知道外部差异工具脚本工作正常).我的.gitconfig配置对于diff工具有什么问题吗?

git

144
推荐指数
7
解决办法
19万
查看次数

树在Git中意味着什么?

我对如何使用感到很困惑git archive.

我有一个git存储库,顶层有文件夹 Foo,BarBaz.我需要以SVN方式导出文件夹Foo,以便快速进行测试部署.

我才知道,我可以用git-archiveSVN-ISH出口排序的方式.

但事情就是这样,以下工作正常:

git archive master | tar -x -C ~/destination
Run Code Online (Sandbox Code Playgroud)

它导致目标文件夹中的Foo,Bar,Baz文件夹.

然而,下面就会因错误使用fatal not a valid object name:

git archive master/foo | tar -x -C ~/destination
Run Code Online (Sandbox Code Playgroud)

文档

作为该git archive程序的概要,我看到它可以<tree-ish> [path]作为一个参数(概要总结为相关部分):

git archive <tree-ish> [path...]
Run Code Online (Sandbox Code Playgroud)

如果 master/foo 不是 tree-ish,那么是什么?

git git-archive

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

git-log和git-whatchanged之间的区别?

  1. 给出另一个问题的答案,并且
  2. 鉴于git-loggit-whatchanged的手册页说他们从git-rev-list中提取...

......这两个命令之间的区别是什么?为什么要麻烦他们两个?

git git-log

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

标签 统计

git ×5

git-archive ×1

git-diff ×1

git-log ×1

git-show ×1