2005 年,Linus Torvalds 创建了 Git,以取代他之前用于维护 Linux 内核的专有分布式源代码控制管理解决方案。从那时起,Git 已成为开源和云原生开发团队的主要版本控制解决方案。
即使是像 Git 这样功能丰富的应用程序也没有人们想要或需要的所有功能,因此他们会努力创建这些功能。对于 Git 来说,这个人就是 TJ Holowaychuk。他的 Git Extras 项目托管了 60 多个“extras”,这些 “extras” 具有扩展 Git 基本功能的功能。
使用 Git Extras
以下是如何使用四个最受欢迎的 Git Extras。
git-ignore
git-ignore 是一个方便的 extra,它允许您手动将文件类型和注释添加到 .git-ignore 文件中,而无需打开文本编辑器。它适用于您的用户帐户的全局忽略文件和您正在处理的存储库的单个忽略文件。
执行不带参数的 git-ignore 将首先列出全局忽略文件,然后列出本地忽略文件。
$ git ignore
Global gitignore: /home/alice/.gitignore
# Numerous always-ignore extensions
*.diff
*.err
*.orig
*.rej
*.swo
*.swp
*.vi
*~
*.sass-cache
# OS or Editor folders
Thumbs.db
---------------------------------
Local gitignore: .gitignore
nbproject
git-info
git-info 检索您需要的所有信息,以便您了解正在处理的仓库的上下文。它包括任何远程 URL、远程分支、本地分支、配置信息和最后一次提交。
$ git info
## Remote URLs:
origin git@github.com:sampleAuthor/git-extras.git (fetch)
origin git@github.com:sampleAuthor/git-extras.git (push)
## Remote Branches:
origin/HEAD -> origin/master
origin/myBranch
## Local Branches:
myBranch
* master
## Most Recent Commit:
commit e3952df2c172c6f3eb533d8d0b1a6c77250769a7
Author: Sample Author <sampleAuthor@gmail.com>
Added git-info command.
Type ´git log´ for more commits, or ´git show <commit id>´ for full commit details.
## Configuration (.git/config):
color.diff=auto
color.status=auto
color.branch=auto
user.name=Sample Author
user.email=sampleAuthor@gmail.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=git@github.com:mub/git-extras.git
branch.master.remote=origin
branch.master.merge=refs/heads/master
git-mr 和 git-pr
这些 extras 做类似的事情,并且基本上以相同的方式工作。
- git-mr 从 GitLab 检出一个合并请求
- git-pr 在 GitHub 上检出一个拉取请求
在这两种情况下,您只需要合并或拉取请求编号或完整 URL,它将获取远程引用,检出分支,并调整配置,以便 Git 知道它将替换哪个分支。
$ git mr 51
From gitlab.com:owner/repository
* [new ref] refs/merge-requests/51/head -> mr/51
Switched to branch 'mr/51'
git-release
通过将 commit、tag 和 push 组合成一个命令,git-release 为执行经常按顺序运行的三个命令节省了大量击键次数。
要使用特定的 <tagname> 和自定义消息进行提交
$ git release 0.1.0 -m <+ powerful feature added>
其他 extras
这些只是仓库中 60 多个 Git Extras 中的四个。要访问 Git Extras 中可用的完整命令列表,请查看源仓库中的 Commands.md 文件,或者在安装 Git Extras 后运行以下命令。
$ git extras --help
安装 Git Extras
Git Extras 的主要先决条件是安装了 Git 的命令行版本。如果您计划从源代码构建,您还需要其他实用程序(例如,make)可用。
如果您使用的是最新版本的 macOS,则最好使用 Homebrew 处理 Git Extras 安装(与大多数开源工具一样)
$ brew install git-extras
在 Linux 上,Git Extras 在每个平台的原生软件包管理器上都可用。有时,您需要启用额外的存储库,例如 CentOS 上的 EPEL,然后运行一个命令
$ sudo yum install git-extras
其他 Linux 发行版、BSD 和其他平台的完整安装说明可在存储库中的 Installation.md 文件中找到。
贡献
您是否有认为 Git 缺少的功能,并且已经构建或想要构建一个脚本来处理它?为什么不将其作为 Git Extras 发行版的一部分与世界分享呢!
为此,请将该功能贡献给 Git Extras 仓库。 CONTRIBUTING.md 文件中有更具体的细节,但基本知识很简单
- 创建一个处理该功能的 Bash 脚本。
- 创建一个基本的 man 文件,以便人们知道如何使用它。
- 更新命令列表和补全脚本,让人们知道该功能的存在。
- 运行完整性检查以确保您没有破坏任何东西。
- 为您的功能创建一个拉取请求。
为 Git Extras 做贡献将大大有助于让您的 Git 用户同行们的生活更轻松。您可以在项目的 README 中了解更多信息。
评论已关闭。