Linux中國

4 個不可或缺的 Git 腳本

2005 年,Linus Torvalds 創建了 Git,以取代他之前用於維護 Linux 內核的分散式源碼控制管理的專有解決方案。從那時起,Git 已經成為開源和雲原生開發團隊的主流版本控制解決方案。

但即使是像 Git 這樣功能豐富的應用程序,也沒有人們想要或需要的每個功能,所以會有人花大力氣去創建這些缺少的功能。就 Git 而言,這個人就是 TJ Holowaychuk。他的 Git Extras 項目承載了 60 多個「附加功能」,這些功能擴展了 Git 的基本功能。

使用 Git 附加功能

下面介紹一下如何使用四種最受歡迎的 Git 附加功能。

git-ignore

git ignore 是一個方便的附加功能,它可以讓你手動添加文件類型和注釋到 .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

這些附加功能的作用類似,工作方式也基本相同。

  • 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 &apos;mr/51&apos;

git-release

通過將 committagpush 合併到一個命令中,git release 可以節省大量的按鍵來執行這三個命令,而這三個命令往往是依次運行的。

要用特定的 <tagname> 和自定義消息提交:

$ git release 0.1.0 -m <+ powerful feature added>

其他附加功能

這只是該版本庫中 60 多個 Git 附加功能中的四個命令。要訪問 Git Extras 中的全部命令,請查看該源代碼庫中的 Commands.md 文件,或者在安裝 Git Extras 後運行以下命令。

$ git extras --help

安裝 Git 附加功能

使用 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 文件,但基本的操作方法很簡單:

  1. 創建一個處理該功能的 Bash 腳本。
  2. 創建一個基本的 man 文件,讓大家知道如何使用它。
  3. 更新命令列表和補完腳本,讓人們知道這個功能的存在。
  4. 運行完整性檢查,確保你沒有破壞任何東西。
  5. 為你的功能創建一個拉取請求。

向 Git Extras 貢獻貢獻,會讓你的 Git 用戶的生活更輕鬆一些。你可以在項目的 README 中了解更多。

via: https://opensource.com/article/20/4/git-extras

作者:Vince Power 選題:lujun9972 譯者:wxy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國

    Linux中國

    捐贈 Let&apos;s Encrypt,共建安全的互聯網

    隨著 Mozilla、蘋果和谷歌對沃通和 StartCom 這兩家 CA 公司處罰落定,很多使用這兩家 CA 所簽發證書的網站紛紛尋求新的證書籤發商。有一個非盈利組織可以為大家提供了免費、可靠和安全的 SSL 證書服務,這就是 Let's Encrypt 項目。現在,它需要您的幫助
    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...