我正在从事一个java项目,我需要了解哪些文件被修改以修复bug。我正在处理的项目的版本控制是通过git管理的。到目前为止,我已经能够得到的承诺,是为了修复错误,但从这开始,我如何才能得到文件,已修改?我可能得跑一趟 diff 在修复错误的提交和另一个提交之间,但是这另一个提交是什么?我可以从提交图上得到它吗?如果是,怎么做?所有这些都必须在java中完成。。。为了与github交互,我使用 jgit 图书馆。
diff
jgit
bjp0bcyl1#
你可以用 git diff 与 --name-only 比较两个提交以检查它们之间的更改的标志。例如,如果要比较最近5次提交中的更改,可以通过执行以下操作来使用head reference: git diff --name-only HEAD HEAD~5 其中第一个提交引用是最新的。如果要将特定提交中更改的文件与头提交中更改的文件进行比较,可以执行以下操作: git diff --name-only HEAD 8614c3d70397f03ab504de8d23e8255d52fa3ed1 其中8614c3d70397f03ab504de8d23e8255d52fa3ed1是您的提交哈希示例。
git diff
--name-only
git diff --name-only HEAD HEAD~5
git diff --name-only HEAD 8614c3d70397f03ab504de8d23e8255d52fa3ed1
由于要检查在一次特定提交中更改的文件,因此可以使用相同的逻辑执行以下操作: git diff --name-only COMMIT_HASH COMMIT_HASH~1 所以如果错误修复提交有散列 8614c3d70397f03ab504de8d23e8255d52fa3ed1 例如,您可以通过执行以下操作来检查此提交中更改的文件: git diff --name-only 8614c3d70397f03ab504de8d23e8255d52fa3ed1 8614c3d70397f03ab504de8d23e8255d52fa3ed1~1
git diff --name-only COMMIT_HASH COMMIT_HASH~1
8614c3d70397f03ab504de8d23e8255d52fa3ed1
git diff --name-only 8614c3d70397f03ab504de8d23e8255d52fa3ed1 8614c3d70397f03ab504de8d23e8255d52fa3ed1~1
lpwwtiir2#
要查看ghat在修订版上修改的文件,可以执行以下操作
git show --name-status some-revision
也可以指定 --name-only 而不是--name-status git diff 也可以工作,但它主要用于范围,因为如果您想使用diff并且只提供一个修订版作为参数,那么您最终会与当前的工作树进行比较,因此当您想检查由一个修订版修改的文件时,您必须传入2个参数。
2条答案
按热度按时间bjp0bcyl1#
你可以用
git diff
与--name-only
比较两个提交以检查它们之间的更改的标志。例如,如果要比较最近5次提交中的更改,可以通过执行以下操作来使用head reference:
git diff --name-only HEAD HEAD~5
其中第一个提交引用是最新的。如果要将特定提交中更改的文件与头提交中更改的文件进行比较,可以执行以下操作:
git diff --name-only HEAD 8614c3d70397f03ab504de8d23e8255d52fa3ed1
其中8614c3d70397f03ab504de8d23e8255d52fa3ed1是您的提交哈希示例。专门用于您的应用程序
由于要检查在一次特定提交中更改的文件,因此可以使用相同的逻辑执行以下操作:
git diff --name-only COMMIT_HASH COMMIT_HASH~1
所以如果错误修复提交有散列8614c3d70397f03ab504de8d23e8255d52fa3ed1
例如,您可以通过执行以下操作来检查此提交中更改的文件:git diff --name-only 8614c3d70397f03ab504de8d23e8255d52fa3ed1 8614c3d70397f03ab504de8d23e8255d52fa3ed1~1
lpwwtiir2#
要查看ghat在修订版上修改的文件,可以执行以下操作
也可以指定
--name-only
而不是--name-status
git diff
也可以工作,但它主要用于范围,因为如果您想使用diff并且只提供一个修订版作为参数,那么您最终会与当前的工作树进行比较,因此当您想检查由一个修订版修改的文件时,您必须传入2个参数。