gpt4 book ai didi

git - git diff 中提交参数的顺序

转载 作者:IT王子 更新时间:2023-10-29 00:46:30 25 4
gpt4 key购买 nike

git命令的顺序是什么

git diff [--options] <commit> <commit> [--] [<path>…]

相互比较不同的提交?似乎如果我想比较新旧我需要做的事情

git diff [--options] <New_commit> <Old_commit>为了查看当前差异?

我通常做git diff [--options] <Old_commit> <New_commit>

但这似乎是错误的?

例如当我做的时候

$ git diff `git rev-list --since="jun 30 2014" --reverse origin/master | head -1` `git rev-list --until="dec 31 2014" origin/master | head -1` --shortstat 

1072 files changed, 389650 insertions(+), 39180 deletions(-)

但是当我这样做的时候

$ git diff --stat `git rev-list --until="dec 31 2014" origin/master | head -1`

我得到的打印输出是:

384 files changed, 61255 insertions(+), 20526 deletions(-)

这不接近 300000。所以我的问题是我是否应该先插入新提交,然后插入旧提交 sedond,例如:

 $ git diff `git rev-list --until="dec 31 2014" origin/master | head -1`..`git rev-list --since="jun 30 2014" --reverse origin/master | head -1` 

我找不到任何关于我应该以何种顺序插入提交以查看新旧提交之间差异的文档。或许你能帮我澄清一下?

提前致谢。

编辑:我问的原因是我想

  1. 知道在给定旧提交的情况下向新提交添加了多少新代码行,并且

  2. 我想计算新提交中的代码行数。

最佳答案

长话短说

在下面git-diff语法,

git diff [--options] <commit> <commit> [--] [<path>...]
  • 第一个<commit>对应于基础提交,
  • 第二个<commit>对应于要与基本提交进行比较的提交。

使用受数学启发的符号,

git diff <x> <x+∆x>

会告诉你区别∆x , 而

git diff <x+∆x> <x>

会告诉你区别-∆x .

请注意,因为这两个提交不需要以任何方式排序,无论是按时间顺序还是拓扑,将它们称为“旧”和"new"(就像你所做的那样)有点误导。

更多详情

您只需查找 git-diff man page 就可以学到很多东西.在描述部分,您会找到

git diff [--options] <commit> <commit> [--] [<path>...]

This is to view the changes between two arbitrary <commit>.

当然,这并没有告诉您哪个提交是哪个,但是,在示例部分的下方,您会找到几个有启发性的示例:

git diff HEAD^ HEAD

[...] Compare the version before the last commit and the last commit.

git diff topic...master

[...]

Changes that occurred on the master branch since when the topic branch was started off it.

关于git - git diff 中提交参数的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31454603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com