惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
雷峰网
雷峰网
Recent Announcements
Recent Announcements
月光博客
月光博客
G
Google Developers Blog
腾讯CDC
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
T
Tenable Blog
云风的 BLOG
云风的 BLOG
W
WeLiveSecurity
博客园 - 【当耐特】
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - 聂微东
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
人人都是产品经理
人人都是产品经理
P
Privacy International News Feed
MyScale Blog
MyScale Blog
K
Kaspersky official blog
T
The Blog of Author Tim Ferriss
Attack and Defense Labs
Attack and Defense Labs
Spread Privacy
Spread Privacy
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
aimingoo的专栏
aimingoo的专栏
I
Intezer
Vercel News
Vercel News
小众软件
小众软件
Simon Willison's Weblog
Simon Willison's Weblog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
N
Netflix TechBlog - Medium
P
Proofpoint News Feed
Latest news
Latest news
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tor Project blog
S
Security Affairs
P
Proofpoint News Feed
博客园 - 三生石上(FineUI控件)
博客园 - Franky
C
Cyber Attacks, Cyber Crime and Cyber Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
美团技术团队
Recent Commits to openclaw:main
Recent Commits to openclaw:main
S
Security @ Cisco Blogs
L
LINUX DO - 热门话题
Know Your Adversary
Know Your Adversary
Project Zero
Project Zero
D
Docker
L
Lohrmann on Cybersecurity
F
Full Disclosure

毛俊的博客

Shell中的错误重定向和标准重定向 - 毛俊的博客 离线编译并安装 Python 3.7 - 毛俊的博客 对终身会员软件停止服务的思考总结 - 毛俊的博客 Vue3项目搭建的4种方式 - 毛俊的博客 Kubernetes及其生态介绍和使用 - 毛俊的博客 MPV播放器默认快捷键 - 毛俊的博客 Markdown导出带大纲目录的Html - 毛俊的博客 Windows设置操作URI指令 - 毛俊的博客 极简生活可以尝试的实践 - 毛俊的博客 《不持有的生活》读书摘录 - 毛俊的博客 艾宾浩斯遗忘曲线复习计划表 - 毛俊的博客 Google搜索技巧 - 毛俊的博客 GitHub搜索技巧 - 毛俊的博客 运动类影视剧集清单 - 毛俊的博客 常用软件清单 - 毛俊的博客 COCA 20000词根词汇练习 - 毛俊的博客 少吃或不吃的食物 - 毛俊的博客 美军两分钟睡眠法 - 毛俊的博客 健康食物清单 - 毛俊的博客
Git客户端工具GitUi安装及使用 - 毛俊的博客
毛 俊 · 2024-03-25 · via 毛俊的博客

GitUi介绍

GitUI provides you with the comfort of a git GUI but right in your terminal.
GitUI是一个Git GUI客户端,但是它直接在终端中运行。

特性

  • 快速而直观的纯键盘操作控制
    提供了一个针对高效用户优化的流线型界面,所有操作都可以通过键盘快捷键高效完成,从而最大程度减少对鼠标或触控板的依赖。

  • 基于上下文的帮助
    无需记忆大量热键,应用会根据当前操作场景自动提供相关帮助信息。

  • 查看、提交与修订变更
    (包含钩子功能:pre-commit, commit-msg, post-commit, prepare-commit-msg):能够查看工作区状态,提交版本更新,并在必要时修订已提交的变更,同时支持预提交和提交后的各种脚本钩子功能。

  • 暂存、取消暂存、还原与重置文件、块和行
    可以灵活管理暂存区,实现文件部分或全部内容的暂存、取消暂存,以及回滚到某个历史版本的状态。

  • 储藏功能
    (保存、弹出、应用、丢弃及检查):支持临时存储工作区未提交的变化,并能在之后随时恢复或应用这些变化。

  • 向远程仓库推送与从远程仓库拉取
    进行版本同步操作,包括将本地分支的变更推送到远程仓库,以及从远程仓库获取最新的提交。

  • 分支列表管理
    (创建、重命名、删除、检出、处理远程分支):提供全面的分支管理功能,包括新建、改名、删除分支,切换分支以及与远程分支的交互。

  • 浏览与搜索提交日志、比较已提交的差异
    允许用户查看项目的历史提交记录,搜索特定提交,并能可视化比较不同提交之间的差异。

  • 响应式终端用户界面
    界面设计为适应不同终端尺寸和分辨率,确保良好的用户体验。

  • 异步 Git API 实现流畅控制
    通过异步处理 Git 操作来提升应用性能,使得用户操作更加流畅无阻。

  • 子模块支持
    内置对 Git 子模块的支持,能够方便地管理和跟踪项目中的嵌套 Git 仓库。

  • GPG 提交签名
    支持使用 GPG 对提交进行数字签名以保证提交者的身份验证和数据完整性,但同时也指出在某些情况下可能存在问题或限制。

安装使用

进入GitUi的下载地址,根据操作系统选择对应的安装包进行安装。
GitUi下载

以Windows为例:
gitui制品包

下载gitui.msi文件,双击安装即可。安装完成后新建一个终端,进入一个Git仓库目录,在命令行中输入gitui打开GitUi界面。
gitui界面

GitUi常用快捷键

GItUi默认的快捷键是基于键盘上下左右键的,可以通过F1键查看快捷键列表。你可以自定义快捷键,具体操作可以参考GitUi文档

这里将GitUi快捷键修改为Vim风格为例:

下载vim_style_key_config.ron文件修改名称为key_bindings.ron

打开资源管理器目录,在地址栏输入%appdata%\gitui,找到key_bindings.ron文件,将文件复制到%appdata%\gitui目录下。

key_bindings.ron

配置完成后,在GitUi中按F1键查看快捷键列表,可以看到快捷键已经修改为Vim风格。

编辑文件

在GitUi中,可以通过I键进入编辑模式,此时可以编辑文件。默认的编辑器为vi,但在Windows下,可能会出现vi命令无法使用的情况。

vi命令报错

需要手动指定编辑器。可以通过设置GIT_EDITORVISUALEDITOR环境变量的方式生效。

设置临时环境变量:

1
set EDITOR=nvim

设置永久环境变量:

1
setx EDITOR nvim

设置完环境变量后,新建一个终端,进入一个Git仓库目录,在命令行中输入gitui打开GitUi界面。再次编辑文件,可以看到编辑器已经切换为nvim

提交到暂存区

当修改了一个已经被Git追踪的文件,该文件处于”modified”(已修改)状态。如果想要将这些更改包含在下一次提交中,需要先将它们添加到暂存区域(也称为索引),此时文件就进入了”staged”状态。在GitUi中,可以通过回车键将选中的文件添加到暂存区,通过a键将所有文件文件添加到暂存区。对应的Git命令为git add <file>

暂存区

提交本地历史

在GitUi中,可以通过c键提交本地历史,此时会弹出提交信息输入框,输入提交信息后,可以通过ctrl+d键提交,也可以通过esc键取消提交。对应的Git命令为git commit -m <message>
commit

查看提交日志

在GitUi中,可以通过数字2键查看提交日志,此时会切换到log栏,可以数据1键回到Status栏。对应的Git命令为git log

Log

推送到远程仓库

在GitUi中,可以通过p键推送到远程仓库。对应的Git命令为git push <remote> <branch>

在推送的时候可能会遇到认证失败的问题。

push failed

需要配置ssh代理。参考配置Adding your SSH key to the ssh-agent

步骤:

  1. 打开命令行窗口,执行下面的命令生成ssh key。
1
ssh-keygen -t ed25519 -C "your_email@example.com"
  1. 以管理员身份运行powershell,并执行下面的命令。
1
2
3
# start the ssh-agent in the background
Get-Service -Name ssh-agent | Set-Service -StartupType Manual
Start-Service ssh-agent
  1. 新建一个普通命令行窗口,并执行下面的命令。
1
ssh-add c:/Users/YOU/.ssh/id_ed25519
  1. 新建一个命令行窗口,打开GitUi,通过p键推送到远程仓库。

(完)