Git 现在已经成为大多数开发人员日常开发中,版本控制的基础工具。Git 基础知识很容易掌握,我们将更改添加到暂存区域,将它们添加到提交树并将它们推送到远程存储库。但是一旦涉及到团队协作时,或者有时候不小心,就会出现各种问题。然而 git 并没有提供类似于 Ctrl+Z 这样的取消操作,如果出错了,该怎么办呢?这里给大家安利一款开源命令行工具,可以帮助我们以交互方式来执行撤消动作:「Ugit」。
Ugit 支持的撤消操作
Ugit 是一个非常有用的工具,它支持撤消以下操作:
-
撤消 git commit
-
撤消 git add
-
撤消 git push
-
撤消 git branch -D
(删除分支) -
撤消 git pull
-
撤消 git reset
-
撤消 git tag -d
(删除标签) -
撤消 git stash apply
-
撤消 git stash pop/drop/clear
-
撤消 意外文件删除(提交后恢复已删除的文件) -
撤消 (恢复)文件到以前的版本 -
撤消 git merge
-
撤消 git cherry-pick
-
撤消 git tag
目前暂时不支持撤销以下两个操作
-
git rebase
-
git worktree remove
安装
Ugit 有以下几个依赖项:
-
Bash >= 4.x.x -
Git >= 2.23.0 -
fzf >= 0.21.0 -
GNU 实用程序,如 awk
,grep
,tput
等等
Fzf 是另一个很酷的工具,一个命令行模糊查找器。我们可以使用默认包管理器简单地安装它。如在 macOS 上,可使用以下命令安装。
brew install fzf
安装好依赖项后,在 macOS 上,依然使用 homebrew 来安装
brew install ugit
在 Linux 上,无法通过包管理器获得 Ugit,所以可以克隆存储库并运行安装脚本,或者使用以下命令:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Bhupesh-V/ugit/master/install)"
使用
安装后,只需在终端中输入 ugit
并按 Enter。
Ugit 可以撤消许多不同的 git 命令。我们可以使用箭头键选择合适的。让我们添加一个提交并立即撤消它。
这相当于 git reset HEAD~
。
又比如如果我们不小心删除了文件怎么办?我们不想恢复提交,我们只想取回文件。
e592de8 (HEAD -> main) Removed question.dart
这个提交 e592de8 意外删除了 quiz.dart,看看使用 Ugit 如何恢复:
就是这么简单。
小结
需要注意的是,即使有 Ugit 这样方便的工具,完全依赖它也是有风险的。Ugit 隐藏了 git 的复杂性。如果我们不了解 git 的基础知识,我们可能会损坏存储库。它是一个很好的记忆辅助工具,但我们仍然应该了解 git 的基础知识。
❝
「Ugit」
地址:https://github.com/Bhupesh-V/ugit
⭐️:950+
语言:Shell
❞
原文始发于微信公众号(小集):这款开源的 Git 后悔药,香
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/215397.html