git项目变取消git_使用Lazygit使高级Git任务变得简单

git项目变取消git

如果人们用一个词来形容Git ,那么它就是“强大的”。 没有人可以否认Git确实是强大的野兽,但是经过几个月努力地在其中做令人尴尬的基本事情之后,我意识到,像我这样的凡人永远都不会通过命令行界面来发挥这种力量。

我制作了Lazygit (Git的终端UI)来帮助我驯服野兽并利用这种力量。 事实证明,我并不是唯一一个挣扎在GitHub上的1.5万颗星! 如果您发现自己在使用Git的命令行界面,甚至其他Git GUI之一都在挣扎,请继续阅读! 您可能会在这里遇到可以节省您时间的功能。

1.快速上载文件

输入git add this / is / my / really / long / filename.txt并不是一件有趣的事情 即使您复制并粘贴文件名,也仍然需要9次按键操作。 Lazygit使您可以闪电般地暂存和取消暂存文件。

假设您刚刚对某些文件进行了一些更改,现在您要提交更改。 打开Lazygit时,您会在“ 文件”面板中找到标记为红色的修改文件,这意味着它们的更改已取消。 使用箭头键在文件之间导航,然后按空格键在暂存和未暂存之间切换文件。

git项目变取消git_使用Lazygit使高级Git任务变得简单_第1张图片

如果您看到不应该存在的文件,只需按一下d ,就会出现一个菜单来删除该文件。

如果要仅暂存文件的一部分,请在文件上按Enter键 ,您会发现自己位于“未暂存的更改”面板中。 从那里,您可以在一行上单击“ 空间 ”以暂存该行,然后将其移至“ 暂存的更改”面板。

git项目变取消git_使用Lazygit使高级Git任务变得简单_第2张图片

如果要完全删除一行(例如,如果您不小心在代码中间留下了console.log ),只需按d 您可以使用TabUnstaged ChangesStaged Changes面板之间交换。

2.轻松的交互式基础

假设您正在功能分支上,并且在三次提交之前,您输入了错字。 您尚未提出拉取请求(PR),并且为了维护审阅者的理解,您希望保持提交之间的逻辑分离。 仅用您的修订来修改原始提交不是很好吗? 输入交互式变基。

在Git命令行上进行交互式变基的用户体验是一部恐怖故事,属于斯蒂芬·金小说。 要执行类似于修改旧提交的简单操作,需要执行以下步骤(不要让孩子在没有父母指导的情况下阅读此内容):

  1. 使用git stash存储要应用的更改。
  2. 复制您要修改的提交的SHA。
  3. git rebase --interactive ^开始重新建立基础
  4. (这就是尖叫声开始...)待办事项文件在Vim里,在那里你会需要找到自己的承诺和替换挑选编辑的行打开。
  5. 保存文件。
  6. 使用git stash pop取消存储您的更改。
  7. git commit --amend修改提交
  8. 继续使用git rebase --continue进行重新设置

只要回想一下CLI恐怖的日子,我就会感到心。

在Lazygit中,交互式基础的所有简单用例都具有其自己的键绑定。

要使用Lazygit当前阶段的更改来修改旧提交,只需导航至该提交并按Shift + A即可 这样,您就完成了! 如果在此过程中发生合并冲突,系统将提示您解决它们,一旦解决,便会提示您继续进行变基。

git项目变取消git_使用Lazygit使高级Git任务变得简单_第3张图片

同样,您可以使用s将提交压缩到下面的提交中,使用Shift + R重命名提交,并使用d删除提交。

假设您要执行涉及多个提交的更复杂的操作。 如果在提交上按e ,则将启动交互式变基,并且以上所有提交均将显示其变基动作(默认为pick )。 要更改提交的动作,只需导航至该位置并按相关字母: s表示南瓜, p表示拣选,等等。您可以通过Lazygit有效地编辑该TODO文件,但所有操作仅需一次按键即可。

git项目变取消git_使用Lazygit使高级Git任务变得简单_第4张图片
m并点击Continue 这将向前移动,删除一个提交,然后将接下来的三个提交压缩为上一个。 不再做噩梦!

3.轻松摘樱桃

Lazygit中的樱桃采摘是通过复制粘贴的方式完成的。 要复制提交,只需在其上按c 复制的提交将以蓝色背景显示。 要将提交粘贴到另一个分支上,请转到“分支”面板中的分支 ,然后单击“ 空格”以将其检出,然后回到“ 提交”面板中,按v键,您复制的提交将被樱桃挑选(即粘贴)到新分支。

git项目变取消git_使用Lazygit使高级Git任务变得简单_第5张图片

4.搜索提交

每个侧面板都可以使用+扩展到半屏模式,然后扩展到全屏模式。 在“全屏”中,“ 提交”面板显示了更多信息,您可以使用/搜索所有信息,还可以使用nN循环显示结果。 找到要查找的内容后,您可以使用Space签出提交,使用t还原提交,并执行大量其他操作。

git项目变取消git_使用Lazygit使高级Git任务变得简单_第6张图片

5.一次按键即可打开PR

如果不将代码合并到代码库中,那么编写代码有什么意义呢? 要打开拉取请求,只需导航至分支并按o即可 您的浏览器将打开以显示:

git项目变取消git_使用Lazygit使高级Git任务变得简单_第7张图片

搏一搏!

如果您已经读了那么多书,或者您对Lazygit足够感兴趣,可以尝试一下,或者您正在准备严厉谴责,认为当涉及到Git别名时,我的按键计数不那么令人印象深刻。 无论哪种方式,我都希望听到您在评论中的反馈。 如果您不知所措,则Lazygit是免费的,易于下载和安装 ,因此,快快加入吧!

翻译自: https://opensource.com/article/20/3/lazygit

git项目变取消git

你可能感兴趣的:(git项目变取消git_使用Lazygit使高级Git任务变得简单)