7 个版本 (1 个稳定版)
1.7.0 | 2023 年 7 月 31 日 |
---|---|
0.5.0 | 2022 年 8 月 16 日 |
0.4.0 | 2022 年 8 月 11 日 |
0.3.0 | 2022 年 5 月 6 日 |
0.1.1 | 2022 年 4 月 29 日 |
在 命令行工具 中排名 #1368
61KB
1.5K SLoC
DYD
每日差异。
此命令行工具可以方便地查看多个项目、多个天之间的 git 差异。查看你在团队中做了什么,以及你的团队管理的所有 git 仓库。
安装
通过 homebrew
brew tap synchronal/tap
brew install dyd
通过 cargo
cargo install dyd
使用 GUI 工具配置 git 的差异工具
[diff]
tool = Kaleidoscope
guitool = Kaleidoscope
[difftool]
prompt = false
[difftool "Kaleidoscope"]
cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\"
[mergetool "Kaleidoscope"]
cmd = ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot
trustExitCode = true
用法
在 dyd.toml
文件中创建一个清单文件,格式如下
since = "3 days ago"
# " ^^^^ days | weeks | months
## difftool = "my diff tool"
difftool = "git" # Uses the configured default GUI difftool.
difftool = "github" # Uses the `open` command to open a diff in the GitHub site.
difftool = "git difftool --dir-diff --tool=intellij -y ${DIFF}" # Arbitrary commands may be set.
[remotes]
[remotes.dyd]
name = "DYD"
origin = "[email protected]:synchronal/dyd"
[remotes.tui]
name = "TUI"
origin = "[email protected]:fdehau/tui-rs"
[remotes.tui]
name = "TUI"
origin = "[email protected]:fdehau/tui-rs"
since
- 必须是格式<N>
<units>
ago
。默认为1 周前
。difftool
- 打开差异的可选命令。默认为git difftool -g -y ${DIFF}
.- 将被插入到命令中并在 difftool 环境中可用的变量。 重要:只有格式为
${VAR}
(包括大括号)的变量将被替换。DIFF
- 格式为@{u}..HEAD
。DYD_PWD
- 运行dyd
的工作目录。ORIGIN
- 用于检出仓库的源,即git@github.com:<org>/<repo>(.git)?
REF_FROM
- 差异中早期提交的 sha。REF_TO
- 差异中较新提交的 sha。HEAD
。
- 将被插入到命令中并在 difftool 环境中可用的变量。 重要:只有格式为
remotes
- 要克隆和拉取的远程仓库列表。name
- 在 UI 中显示的文本。origin
- 从中拉取的 git 源。branch
- 一个可选的分支,用于显示差异。取决于是否可以通过origin/{branch}
查看日志。
确保您的 shell 已获得 origin 的授权。DYD 不会将输入路由到 SSH 代理。
ssh-add ~/.ssh/id_ed25519
打开差异工具
dyd -m dyd.toml
dyd --manifest dyd.toml
DYD_MANIFEST_PATH="dyd.toml" dyd diff
键盘映射
h l <left> <right> <tab> - switch panes
j k <up> <down> - change current selection
d - open git gui difftool
q <esc> - quit
其他差异工具
GitHub(浏览器)
当清单中的所有仓库的源都在 GitHub 上时,dyd
可以配置为在系统默认浏览器中打开差异。
添加到您的 dyd.toml
清单文件
difftool = "github"
IntelliJ IDEA
(您可以免费下载 IntelliJ IDEA Community Edition,它具有相当不错的图形差异工具。[下载链接](https://www.jetbrains.com/idea/download/#section=mac))
添加到您的 ~/.gitconfig
文件
[diff]
tool = intellij
guitool = intellij
[difftool "intellij"]
cmd = open -nWa 'IntelliJ IDEA CE.app' --args diff $(realpath "$LOCAL") $(realpath "$REMOTE")
[difftool]
prompt=false
添加到您的 dyd.toml
清单文件
difftool = "git difftool --dir-diff --tool=intellij -y ${DIFF}"
其他
- gitx
- kdiff3
- ???
参考文献
依赖关系
~8–19MB
~236K SLoC