gpt4 book ai didi

git - 如何手动检查两次 git 提交之间的差异?

转载 作者:行者123 更新时间:2023-12-04 07:42:10 32 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Configuring diff tool with .gitconfig

(10 个回答)


4 个月前关闭。




如何手动检查同一 git 文件夹中两次提交之间的文件差异。
这里有很多帖子如何配置 git 以使用 kdiff3 作为默认 merge 工具,但这个问题与手动附加目录有关,以便我可以比较提交之间的差异。
针对以下评论:
假设我有一个文件路径为 /path/to/dir/filename.txt 的文件. /path/to/dir/是一个 git 目录(用 git init 实例化)。
我正在尝试查看 /path/to/dir/filename.txt 的差异在 commitid=bacfa3 和 /path/to/dir/filename.txt在 commitid=aafaf8。我不想使用 git 的命令行界面 git diff执行此操作,而是仅使用 kdiff3 UI 查看这些更改。
要解决以下附加答案:
我附上 an image to the kdiff3 UI .有一个选项可以添加文件和目录。是否可以选择文件 /path/to/dir/filename.txt在特定提交 (bacfa3) 和另一个提交 (aafaf8) 中的相同文件,并仅使用 kdiff3 UI(无命令行界面)比较这两个文件。

最佳答案

您可以使用 git difftool :

# from /path/to/dir/ :
git difftool bacfa3 aafaf8 -- filename.txt
如果您想比较多个文件,或在目录比较模式下打开差异查看器,请添加 -d选项 :
git difftool -d bacfa3 aafaf8
git difftool -d bacfa3 aafaf8 -- some/dir
# the following will compare the 2 commits, restricting the compared files
# to only the files named on the command line :
git difftool -d bacfa3 aafaf8 -- file1.txt file2.txt path/to/file3.txt
注意: --在上面的命令中大部分是可选的,这是标准的说法“后面的不是分支名称、标签名称、提交引用或命令行选项(如果文件以 - 开头,对于示例),它只是路径”。
当没有歧义时, git很清楚要找什么 git difftool bacfa3 Readme.md .
将 kdiff3 作为标准查看器: Configuring kdiff3 with git
git difftool的基本使用is : git diff 理解的任何选项和参数集(*) 也会被 git difftool 理解和 git difftool -d(*) 好吧,可能会有一两个异常(exception),比如 --word-diff--histogram , 因为 git不再控制差异查看器的行为方式。

[编辑] 回答“我只能从 kdiff3 GUI 执行此操作吗?”观点 :
我不认为你可以从 kdiff3单独(除非您在菜单中的某处看到“VCS”条目?),查看 git 的 GUI 前端:
官方 git 站点上有一个很好的 GUI 工具列表:
  • GUI Clients for git

  • 我对 Git extensions 的体验很好(如果您运行的是 Windows), gitk与git开发非常密切,其他工具也比较有名,比如Gitkraken、Sourcetree...
    从这些工具中,您将有一个 GUI 来选择要比较的提交和文件,并且它们都有“在 [图形差异查看器] 中打开...”操作。

    关于git - 如何手动检查两次 git 提交之间的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67404174/

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