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