Git Extras 版本库包含了 60 多个脚本,它们是 Git 基本功能的补充。如下是如何安装、使用和贡献的方法。linux
2005 年,Linus Torvalds 建立了 Git,以取代他以前用于维护 Linux 内核的分布式源码控制管理的专有解决方案。从那时起,Git 已经成为开源和云原生开发团队的主流版本控制解决方案。git
但即便是像 Git 这样功能丰富的应用程序,也没有人们想要或须要的每一个功能,因此会有人花大力气去建立这些缺乏的功能。就 Git 而言,这我的就是 TJ Holowaychuk。他的 Git Extras 项目承载了 60 多个“附加功能”,这些功能扩展了 Git 的基本功能。github
下面介绍一下如何使用四种最受欢迎的 Git 附加功能。sass
git ignore
是一个方便的附加功能,它可让你手动添加文件类型和注释到 .git-ignore
文件中,而不须要打开文本编辑器。它能够操做你的我的用户账户的全局忽略文件和单独用于你正在工做的版本库中的忽略文件。bash
在不提供参数的状况下执行 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
能够检索你所须要的全部信息,以获取你正在使用的版本库的上下文信息。它包括远程 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
检出来自 GitLab 的合并请求。git pr
检出来自 GitHub 的拉取请求。不管是哪一种状况,你只须要合并请求号/拉取请求号或完整的 URL,它就会抓取远程引用,检出分支,并调整配置,这样 Git 就知道要替换哪一个分支了。gitlab
$ git mr 51
From gitlab.com:owner/repository
* [new ref] refs/merge-requests/51/head -> mr/51
Switched to branch 'mr/51'
复制代码
经过将 commit
、tag
和 push
合并到一个命令中,git release
能够节省大量的按键来执行这三个命令,而这三个命令每每是依次运行的。fetch
要用特定的 <tagname>
和自定义消息提交:
$ git release 0.1.0 -m <+ powerful feature added>
复制代码
这只是该版本库中 60 多个 Git 附加功能中的四个命令。要访问 Git Extras 中的所有命令,请查看该源代码库中的 Commands.md 文件,或者在安装 Git Extras 后运行如下命令。
$ git extras --help
复制代码
使用 Git 附加功能的主要前提是安装了 Git 的命令行版本。若是你打算从源码中构建,还须要有额外的工具(例如:make
)。
若是你使用的是最新版本的 macOS,那么 Git 附加功能的安装最好使用 Homebrew(和大多数开源工具同样)。
$ 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 文件,但基本的操做方法很简单:
向 Git Extras 贡献贡献,会让你的 Git 用户的生活更轻松一些。你能够在项目的 README 中了解更多。
via: opensource.com/article/20/…
做者:Vince Power 选题:lujun9972 译者:wxy 校对:wxy