FancyGit是一个适用于Linux和MAC OS的工具,它可以改变终端提示符,以便在您处理git存储库时向您显示一些很酷的git信息。它将始终让您了解当前分支的状态。
:rocket: 贡献 | :monocle_face: 更新日志 | :hammer: 故障排除
:cupid: 安装
curl -sS https://raw.githubusercontent.com/diogocavilha/fancy-git/master/install.sh | sh
:broken_heart: 卸载
curl -sS https://raw.githubusercontent.com/diogocavilha/fancy-git/master/uninstall.sh | sh
:heavy_check_mark: 安装后
- 将您终端应用程序中的字体更改为以下字体之一:
- Sauce-Code-Pro-Nerd-Font-Complete-Windows-Compatible.ttf。
- DejaVu-Sans-Mono-Nerd-Font-Complete.ttf。
- DejaVu-Sans-Mono-Nerd-Font-Complete-Mono.ttf。
- JetBrains-Mono-Regular-Nerd-Font-Complete-Mono.ttf。
- JetBrains-Mono-Medium-Nerd-Font-Complete-Mono.ttf。
这对于正确渲染图标/符号是必要的。
如果您找不到字体,仍然可以通过运行fancygit --fonts-install
手动安装,或者安装位于~/.fancy-git/fonts/
的ttf文件。 注意:对于Windows Terminal,只有上面的Sauce Code选项才能正确显示git图标。
- 重启您的终端。
运行fancygit -h
查看FancyGit帮助。
:nail_care: Git建议配置
git config --global color.ui true
git config --global color.diff.meta "yellow bold"
git config --global color.diff.old "red bold"
git config --global color.diff.new "green bold"
git config --global color.status.added "green bold"
git config --global color.status.changed "yellow"
git config --global color.status.untracked "cyan"
运行fancygit --suggested-global-git-config
查看建议的配置。
运行fancygit --suggested-global-git-config-apply
应用建议的配置。
我建议您使用这个配置,因为FancyGit将根据当前存储库状态为分支背景着色,只要您使用允许这样做的主题。
输入fancygit -h
获取更多信息。
:eyes: 概览
一图胜千言...
在Python虚拟环境中工作?
:art: 主题和配色方案
如果您不想太"花哨",可以通过运行fancygit --theme-simple
选择使用简单主题。
如果您想返回默认主题,只需输入fancygit --theme-default
。
还有一些其他主题和配色方案供您选择。
输入fancygit -h
查看"主题命令"和"配色方案命令"部分中所有可用的主题和配色方案。
以下是可用主题及其相应配色方案的列表。
截图字体:JetBrains-Mono-Medium-Nerd-Font-Complete-Mono.ttf
fancygit --theme-default(默认配色方案:--color-scheme-default)
fancygit --color-scheme-dracula
fancygit --color-scheme-batman
fancygit --color-scheme-robin
fancygit --color-scheme-superman
fancygit --color-scheme-light
fancygit --color-scheme-neon
fancygit --color-scheme-cga
fancygit --theme-human(默认配色方案:--color-scheme-human)
fancygit --theme-simple(默认配色方案:--color-scheme-simple)
:link: 分隔符样式
您可以输入fancygit --separator<TAB>
查看所有可用的分隔符样式。
:bangbang: 重要 :bangbang:
强烈建议将终端字体设置为以下之一:
- Sauce-Code-Pro-Nerd-Font-Complete-Windows-Compatible.ttf。
- DejaVu-Sans-Mono-Nerd-Font-Complete.ttf。
- DejaVu-Sans-Mono-Nerd-Font-Complete-Mono.ttf。
- JetBrains-Mono-Regular-Nerd-Font-Complete-Mono.ttf。
- JetBrains-Mono-Medium-Nerd-Font-Complete-Mono.ttf。
这样,符号将被正确渲染,新的FancyGit版本也能按预期工作。
要安装字体,你可以运行
fancygit --fonts-install
。
截图字体:Sauce-Code-Pro-Nerd-Font-Complete-Windows-Compatible.ttf
fancygit --separator-default
fancygit --separator-blocks
fancygit --separator-blocks-tiny
fancygit --separator-curve
fancygit --separator-fire
fancygit --separator-lego
fancygit --separator-paint
:dizzy: 功能开关
功能开关是用于启用/禁用功能的特殊命令,它们适用于每个主题。
你可以通过输入fancygit --enable-<功能名称>
或fancygit --disable-<功能名称>
来启用或禁用它们。
输入fancygit -h
以查看"功能开关命令"部分中所有可用的功能开关。
:toolbox: 命令
命令 | 描述 |
---|---|
fancygit -h, --help | 显示此帮助。 |
fancygit -v, --version | 显示FancyGit版本。 |
fancygit --update | 从GitHub更新FancyGit代码至最新版本。 |
fancygit --fonts-install | 安装字体以正确渲染图标。 |
fancygit --suggested-global-git-config | 显示建议的全局git配置。 |
fancygit --suggested-global-git-config-apply | 应用建议的全局git配置。 |
fancygit --config-list | 显示FancyGit配置。 |
fancygit --reset | 重置配置,如同刚安装FancyGit。 |
fancygit --changelog-show | 显示最新版本的更新日志。 |
fancygit --show-themes | 显示所有可用主题。 |
fancygit --show-color-schemes | 显示当前主题可用的配色方案。 |
fancygit --show-color-schemes-all | 显示所有可用的配色方案。 |
fancygit --enable-full-path | 显示完整路径。 |
fancygit --disable-full-path | 仅显示工作目录名。 |
fancygit --enable-show-user-at-machine | 显示(用户@机器)信息,如常。 |
fancygit --disable-show-user-at-machine | 隐藏(用户@机器)信息。 |
fancygit --enable-time | 显示当前时间。 |
fancygit --disable-time | 隐藏当前时间。 |
fancygit --enable-double-line | 显示双行提示符。 |
fancygit --disable-double-line | 显示单行提示符。 |
fancygit --enable-rich-notification | 显示带图标的通知区域。 |
fancygit --disable-rich-notification | 显示简单符号的通知区域。 |
fancygit --enable-bold-prompt | 显示粗体提示符字体。 |
fancygit --disable-bold-prompt | 显示常规提示符字体。 |
fancygit --enable-host-name | 显示主机名。 |
fancygit --disable-host-name | 隐藏主机名。 |
fancygit --enable-user-symbol | 显示用户符号。 |
fancygit --disable-user-symbol | 隐藏用户符号。 |
fancygit --set-user-name {名称} | 设置用户名。 |
fancygit --unset-user-name | 恢复默认用户名。 |
fancygit --set-host-name {名称} | 设置主机名。 |
fancygit --unset-host-name | 恢复默认主机名。 |
fancygit --enable-git-clear | 将清屏作为某些git别名的一部分 |
fancygit --disable-git-clear | 不在任何git别名中清屏 |
fancygit --separator-default | 将分隔符更改为默认样式。 |
fancygit --separator-blocks | 将分隔符更改为方块样式。 |
fancygit --separator-blocks-tiny | 将分隔符更改为小方块样式。 |
fancygit --separator-fire | 将分隔符更改为火焰样式。 |
fancygit --separator-lego | 将分隔符更改为乐高样式。 |
fancygit --separator-curve | 将分隔符更改为曲线样式。 |
fancygit --separator-paint | 将分隔符更改为油漆样式。 |
fancygit --theme-<名称> | 将提示符更改为选定的主题。 |
fancygit --color-scheme-<名称> | 更改为选定的配色方案。 |
:toolbox: 别名
别名 | 描述 |
---|---|
gs | 显示git状态。(git status ) |
ga <文件> ... | 添加文件以进行提交。(文件) |
gap <文件> | 添加文件以进行提交。(git add -p <文件> ) |
gaa | 添加所有文件以进行提交。(文件) |
gd | 显示文件的更改并建议添加它。(git diff ) (文件) |
gcm | 开始提交。(git commit) |
gcmm "<消息>" | 开始带有消息的提交。(git commit -m "<消息>" ) |
gpl | Git拉取。(git pull ) (文件) |
gps | Git推送。(git push ) |
gplo <分支名> | 从<分支名>拉取到当前本地分支。(git pull origin <分支名> ) (文件) |
gpso <分支名> | 从当前本地分支推送到<分支名>。(git push origin <分支名> ) |
gplob | 从远程当前分支拉取到本地当前分支。(文件) |
gpsob | 从本地当前分支推送到远程当前分支。(文件) |
gck <文件> ... | 回滚文件更改。(git checkout -- <文件> ) (文件) |
gckb <分支名> | 切换到一个分支。(git checkout <分支名> ). |
gckbt <分支名> | 使用--track选项切换到一个分支。(文件) |
gcb <分支名> | 创建并切换到新分支。(git checkout -b <分支名> ) |
ggdb <分支名> | 删除本地分支。(git branch -D <分支名> ) |
gdbr <分支名> | 删除远程分支。(git push origin --delete <分支名> ) |
grb <新分支名> | 重命名分支(本地)。(文件) |
grba <新分支名> | 重命名分支(本地和远程)。(文件) |
gl | 显示git日志。(git log ) |
glp | 显示美化的git日志。(文件) |
gdof | 从项目中移除所有.orig文件。(find . -name "*.orig" | xargs rm -rf ) |
gfi <文件> | 强制git忽略一个文件。(git update-index --assume-unchanged <文件> ) |
gurl | 显示git仓库URL。(文件) |
guser | 显示git用户信息。(文件) |
gst | 使用默认消息创建新的贮藏。(git stash ) |
gstl | 列出所有贮藏。(git stash list ) |
gstm | 使用自定义消息创建新的贮藏。(git stash save "<消息>" ) |
gstw | 显示贮藏差异。(git stash show <贮藏ID> ) (文件) |
gsta | 应用贮藏。(git stash apply <贮藏ID> ) (文件) |
gstd | 删除特定贮藏。(git stash drop <贮藏ID> ) (文件) |
gg "<消息>" | 添加所有更改,然后提交并推送它们。(git add --all && git commit -m "<消息>" && git push ) (文件) |
gu <文件> ... | 从暂存区移除文件。(git reset HEAD <文件> ) |
pve | 显示当前Python虚拟环境名称。(文件) |
:gear: 高级调整 - 覆盖一些默认配置值
如果你想更深入地调整一些内容,比如特殊字符等,你可以创建环境变量。这些变量会覆盖FancyGit默认配置中的任何值。
示例:
你想更改分支图标,因为你使用的是不同的控制台字体,图标在字体中的字符位置不同。只需创建相应的环境变量即可。
当然,你可能已经更改了符号:
# 分支图标。
FANCYGIT_ICON_LOCAL_REMOTE_BRANCH=""
这里你可以看到FancyGit将搜索和替换的可用环境变量列表:
# 路径是git仓库
FANCYGIT_ICON_GIT_REPO
# 仅本地分支图标。
FANCYGIT_ICON_LOCAL_BRANCH
# 分支图标。
FANCYGIT_ICON_LOCAL_REMOTE_BRANCH
# 已合并分支图标。
FANCYGIT_ICON_MERGED_BRANCH
# 已暂存文件。
FANCYGIT_ICON_HAS_STASHES
# 未跟踪文件。
FANCYGIT_ICON_HAS_UNTRACKED_FILES
# 已更改文件。
FANCYGIT_ICON_HAS_CHANGED_FILES
# 已添加文件。
FANCYGIT_ICON_HAS_ADDED_FILES
# 未推送的提交。
FANCYGIT_ICON_HAS_UNPUSHED_COMMITS
# 路径是Python虚拟环境
FANCYGIT_ICON_VENV
贡献者 ✨
感谢这些优秀的人(表情符号键):