如何安装和使用lazygit一个简单的git命令终端UI
在本教程中,请看一下如何在Linux和macOS上安装和使用Lazygit。 Lazygit是git命令的简单终端UI,使用gocuilibrary用Go编写。 Lazygit使我们可以在以终端为中心的环境中感受Sourcetree。 Lazygit快速且易于使用,我们只需要在git存储库中的终端中调用lazygit。 Lazygit可以在Linux,macOS,FreeBSD和Windows上运行。
Lazygit的功能
以下是lazygit的出色功能:轻松添加文件解决合并冲突轻松查看最近的分支滚动浏览分支的日志/差异/提交/存储快速推/拉压缩并重新命名提交
以下是lazygit git命令UI工具上可用的面板
全局PanelFiles PanelBranches PanelCommit PanelStash PanelDiff面板,用于解决合并冲突。
如何在macOS上安装lazygit
我们可以使用brew在macOS上轻松安装lazygit。
$brew tap jesseduffield/lazygit $brew install lazygitbrew tap
如何在Ubuntu上安装lazygit
可通过Launchpad PPA获得适用于Ubuntu的Lazygit软件包。将其添加到Ubuntu系统,然后安装lazygit。
sudo add-apt-repository ppa:lazygit-team/daily sudo apt-get update sudo apt-get install lazygit
如何在Arch Linux上安装Lazygit
对于Arch Linux用户,我们可以从AUR安装lazygit。有两个包。使用最新版本构建的稳定版本(lazygit)和从最新提交构建的git版本(lazygit-git)。
为了能够在Arch Linux上从AUR安装软件包,我们需要AUR帮助器。 Checkyay是Arch Linux/Manjaro的最佳AUR助手。
安装好后,按如下所示安装lazygit:
$yay -S --noconfirm --needed lazygit
对于开发版本,请使用:
$yay -S --noconfirm --needed lazygit-git
从二进制包安装lazygit
我们也可以从二进制软件包安装lazygit。以下是在Linux上从二进制软件包安装lazygit的示例。
export VER="0.7.2" wget -O lazygit.tgz https://github.com/jesseduffield/lazygit/releases/download/v${VER}/lazygit_${VER}_Linux_x86_64.tar.gz tar xvf lazygit.tgz sudo mv lazygit /usr/local/bin/
确认安装。
$lazygit -v commit=63e2ccfccf32bd7fff2e721940f8173c6194cce5, build date=2019-03-05T10:57:25Z, build source=binaryRelease, version=0.7.2, os=linux, arch=amd64
如何在git命令中使用lazygit
在git仓库中的终端中执行lazygit命令
$lazygit
以下是lazygitKeybindings:
全局:
← →↑↓/hjkl: navigate PgUp/PgDn or ctrl+u/ctrl+d: scroll diff panel (for PgUp and PgDn, use fn+up/fn+down on osx) q: quit p: pull shift+P: push
文件面板:
space: toggle staged c: commit changes shift+C: commit using git editor shift+S: stash files t: add patched (i.e. pick chunks of a file to add) o: open e: edit s: open in sublime (requires 'subl' command) v: open in vscode (requires 'code' command) i: add to .gitignore d: delete if untracked checkout if tracked (aka go away) shift+R: refresh files
分支机构小组:
space: checkout branch f: force checkout branch m: merge into currently checked out branch c: checkout by name n: new branch d: delete branch
提交面板:
s: squash down (only available for topmost commit) r: rename commit g: reset to this commit
隐藏面板:
space: apply g: pop d: drop
弹出面板:
esc: close/cancel enter: confirm tab: enter newline (if editing)
解决合并冲突(差异面板):
←→/hl: navigate conflicts ↑↓/kj: select hunk space: pick hunk b: pick both hunks z: undo (only available while still inside diff panel)