对于许多开发人员来说,真正利用 Git 的强大功能可能是一项艰巨的任务。当您第一次开始使用 Git 时,它可能看起来很吓人。这是大多数开发人员限制自己使用标准推送、拉取和合并命令的原因之一。
然而,多年来,Git 因其强大的功能而成为版本控制的标准工具。因此,如果您经常使用 Git,那么您可以通过学习其中一些高级功能来极大地改进您的工作流程。
在本文中,我将讨论每个开发人员都应该知道的十个高级 Git 命令。
Git 变基
如果你想将一个功能分支中的所有提交合并到该main分支,可能会想到使用git merge命令。这将获取特色分支中的所有更改并将其填充到一个合并提交中,然后将该合并提交放入主分支中。在这些更改合并到那个合并提交之后,它看起来很分散,尤其是当你有一群人在特色分支上工作并且几乎每次都推送更改时。
使用 git 合并
git rebase命令可以为我们解决这个问题。它从特色分支获取所有提交并将它们移动到主提交之上。
git rebase
一个很大的优势是它可以轻松地跟踪您在主分支内的提交。
_git rebase
当您有多个私有分支时,您应该使用该git rebase命令合并为一个分支。它将以线性形式显示提交历史记录。在线性历史中,很容易看到变化的进展,因为它们都是一个接一个地应用,没有任何分支或合并提交。这可以更容易地理解代码是如何随着时间的推移而演变的。
此外,线性历史可以更容易地追踪错误,因为您可以更容易地看到引入特定更改的时间。它还可以更轻松地还原更改,因为您可以简单地还原单个提交,而不用处理合并分支的复杂性。
搜索 Git 仓库
您是否曾经想在存储库历史记录中搜索字符串?那么,您现在可以使用grep命令来执行此操作,它可以帮助您在所有提交(项目的整个历史记录)中搜索特定字符串。
Git Grep
git grep是一个有用的工具,用于快速搜索 Git 存储库的代码库以查找特定信息搜索 Git 存储库当前分支中的跟踪文件并返回与指定模式匹配的行列表。它可用于搜索代码片段、函数调用或特定的文本字符串。
要搜索工作目录(当前项目状态)中的文件,您可以使用git grep:
_git grep STRING
下面是在 web3 存储库中搜索单词“blockchain”的示例:
_git grep blockchain
结果如下: