Project Icon

fancy-git

终端个性化工具,实时显示Git分支状态

FancyGit是一款支持Linux和macOS的终端工具,通过更改提示符实时显示Git仓库的分支状态。它提供多种配色方案和主题,适应不同的个人喜好。安装和配置简单,帮助文档详尽,并提供多种实用的Git命令别名,提升开发效率。用户可以通过简单命令调整显示风格和功能,满足多样的需求。

所有贡献者

构建 欢迎PR 使用bash制作 MIT许可证 GitHub分支 GitHub星标

标志

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: 安装后

  1. 您终端应用程序中的字体更改为以下字体之一:
    • 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图标。
  2. 重启您的终端。

运行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: 概览

一图胜千言...

001 002 003 004 005 006 007

在Python虚拟环境中工作? python_venv

: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
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 "<消息>")
gplGit拉取。(git pull) (文件)
gpsGit推送。(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

贡献者 ✨

感谢这些优秀的人(表情符号键):


:coffee: 给我买杯咖啡!

用PayPal捐赠

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号