我是一个普通的 git 用户,我正在 eclipse 中构建一些快捷方式来激活一些 EGit 功能。
我对 EGit 在做什么(尤其是synchronize workspace
操作)有点警惕,我想知道我是否可以让 EGit 显示它正在使用的git 命令。
您是否知道将其记录到控制台的选项,或者通常如何找出执行了哪些命令?
EGit不使用 git 可执行文件。它在JGit的帮助下重现了可执行文件的功能。
Git 可执行文件将项目的版本控制状态存储在 .git 文件夹下的多个文件中(分支、引用、提交对象、标签等)。
EGit 和 JGit 也是如此。
例如:
带有 git 可执行文件的提交:
git commit -m "My commit message"
将通过带有CommitOperation.commit()的EGit 在 Java 中执行,它使用 JGit 的CommitCommand.call(),它构建并插入一个提交对象,这些对象通过 files 表示。
EGit 的 UI 操作与其作为常规 git 命令的含义之间没有明确的映射,至少据我所知不是。
不过,您可以浏览(EGit、JGit、git)的代码并查看幕后发生的事情。
编辑:JGit 中的 pgm 包提供逆映射:“使用 JGit 实现的命令行界面 Git 命令(“pgm”代表程序)”
编辑:存在一个未合并的 Eclipse 补丁,用于记录 Egit 在幕后所做的事情:https ://git.eclipse.org/r/#/c/103342/
请转到您项目的 .git 文件夹。在我的情况下会有一个日志文件夹(D:\Repo\GIT.git\logs)
eclipse执行的所有git命令都记录在各自的分支文件中。
日志样本是
0000000000000000000000000000000000000000 27f2e02544d389eb2412c1d467cc99f1786cd662 fanishshukla 1409137288 +0530 commit (initial): First Draft for Jboss 27f2e02544d389eb2412c1d467cc99f1786cd662 6d5634200cfdf6adf7c00ae70004326d2741e3a2 fanishshukla 1409557422 +0530 commit: fast response 6d5634200cfdf6adf7c00ae70004326d2741e3a2 32dbcfa55452b1a89861f422cfc7f90d26435d8c fanishshukla 1409557443 +0530 commit: fast response
我在这里找到的:
关于此要求有一个错误:
错误 349551 - 将 EGit 活动记录到控制台
https://bugs.eclipse.org/bugs/show_bug.cgi?id=349551
如何git reflog
查看git的命令历史