自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

8 個(gè)讓我更有效率的 Git 別名

系統(tǒng) Linux
使用別名為你最常用或復(fù)雜的 Git 命令創(chuàng)建快捷方式。

[[356748]]

使用別名為你最常用或復(fù)雜的 Git 命令創(chuàng)建快捷方式。

這篇出色的文章《改變我使用 Git 工作方式的七個(gè)技巧》啟發(fā)了我寫(xiě)下另一個(gè)對(duì)我在命令行上使用 Git 的經(jīng)驗(yàn)有重大影響的 Git 特性:別名。

定義 Git 的別名來(lái)替代命令有兩大好處。

  • 它簡(jiǎn)化了有許多選項(xiàng)的長(zhǎng)命令,使它們更短,更容易記住。
  • 縮短了經(jīng)常使用的命令,使你的工作更有效率。

如何定義和使用別名

要定義 Git 的別名,請(qǐng)使用 git config 命令,加上別名和要替換的命令。例如,要為 git push 創(chuàng)建別名 p

  1. $ git config --global alias.p 'push'

你可以通過(guò)將別名作為 git 的參數(shù)來(lái)使用別名,就像其他命令一樣:

  1. $ git p

要查看所有的別名,用 git config 列出你的配置:

  1. $ git config --global -l
  2. user.name=ricardo
  3. user.email=ricardo@example.com
  4. alias.p=push

你也可以用你喜歡的 shell 來(lái)定義別名,比如 Bash 或 Zsh。不過(guò),用 Git 定義別名有幾個(gè)功能是用 shell 無(wú)法實(shí)現(xiàn)的。首先,它允許你在不同的 shell 中使用別名,而無(wú)需額外配置。此外,它還集成了 Git 的自動(dòng)更正功能,所以當(dāng)你輸入錯(cuò)誤的命令時(shí),Git 可以建議你正確的別名。最后,Git 還會(huì)將別名保存在用戶配置文件中,你可以通過(guò)復(fù)制一個(gè)文件將別名轉(zhuǎn)移到其他機(jī)器上。

無(wú)論使用哪種方法,定義別名都能改善你使用 Git 的整體體驗(yàn)。更多關(guān)于定義 Git 別名的信息,請(qǐng)看《Git Book》。

8 個(gè)有用的 Git 別名

現(xiàn)在你知道如何創(chuàng)建和使用別名了,來(lái)看看一些有用的別名。

1、Git 狀態(tài)

Git 命令行用戶經(jīng)常使用 status 命令來(lái)查看已更改或未跟蹤的文件。默認(rèn)情況下,這個(gè)命令提供了很多行的冗長(zhǎng)輸出,你可能不想要或不需要。你可以使用一個(gè)別名來(lái)處理這兩個(gè)組件。定義別名 st 來(lái)縮短命令,并使用選項(xiàng) -sb 來(lái)輸出一個(gè)不那么啰嗦的狀態(tài)和分支信息。

  1. $ git config --global alias.st 'status -sb'

如果你在一個(gè)干凈的分支上使用這個(gè)別名,你的輸出就像這樣:

  1. $  git st
  2. ## master

在一個(gè)帶有已更改和未跟蹤文件的分支上使用它,會(huì)產(chǎn)生這樣的輸出:

  1. $ git st
  2. ## master
  3.  M test2
  4. ?? test3

2、Git 單行日志

創(chuàng)建一個(gè)別名,以單行方式顯示你的提交,使輸出更緊湊:

  1. $ git config --global alias.ll 'log --oneline'

使用這個(gè)別名可以提供所有提交的簡(jiǎn)短列表:

  1. $ git ll
  2. 33559c5 (HEAD -> master) Another commit
  3. 17646c1 test1

3、Git 的最近一次提交

這將顯示你最近一次提交的詳細(xì)信息。這是擴(kuò)展了《Git Book》中 別名 一章的例子:

  1. $ git config --global alias.last 'log -1 HEAD --stat'

用它來(lái)查看最后的提交:

  1. $ git last
  2. commit f3dddcbaabb928f84f45131ea5be88dcf0692783 (HEAD -> branch1)
  3. Author: ricardo <ricardo@example.com>
  4. Date:   Tue Nov 3 00:19:52 2020 +0000
  5.  
  6.     Commit to branch1
  7.  
  8.  test2 | 1 +
  9.  test3 | 0
  10.  2 files changed, 1 insertion(+)

4、Git 提交

當(dāng)你對(duì) Git 倉(cāng)庫(kù)進(jìn)行修改時(shí),你會(huì)經(jīng)常使用 git commit。使用 cm 別名使 git commit -m 命令更有效率:

  1. $ git config --global alias.cm 'commit -m'

因?yàn)?Git 別名擴(kuò)展了命令,所以你可以在執(zhí)行過(guò)程中提供額外的參數(shù):

  1. $ git cm "A nice commit message"
  2. [branch1 0baa729] A nice commit message
  3.  1 file changed, 2 insertions(+)

5、Git 遠(yuǎn)程倉(cāng)庫(kù)

git remote -v 命令列出了所有配置的遠(yuǎn)程倉(cāng)庫(kù)。用別名 rv 將其縮短:

  1. $ git config --global alias.rv 'remote -v'

6、Git 差異

git diff 命令可以顯示不同提交的文件之間的差異,或者提交和工作樹(shù)之間的差異。用 d 別名來(lái)簡(jiǎn)化它:

  1. $ git config --global alias.d 'diff'

標(biāo)準(zhǔn)的 git diff 命令對(duì)小的改動(dòng)很好用,但對(duì)于比較復(fù)雜的改動(dòng),外部工具如 vimdiff 就更有用。創(chuàng)建別名 dv 來(lái)使用 vimdiff 顯示差異,并使用 y 參數(shù)跳過(guò)確認(rèn)提示:

  1. $ git config --global alias.dv 'difftool -t vimdiff -y'

使用這個(gè)別名來(lái)顯示兩個(gè)提交之間的 file1 差異:

  1. $ git dv 33559c5 ca1494d file1

 

vim-diff results

7、Git 配置列表

gl 別名可以更方便地列出所有用戶配置:

  1. $ git config --global alias.gl 'config --global -l'

現(xiàn)在你可以看到所有定義的別名(和其他配置選項(xiàng)):

  1. $ git gl
  2. user.name=ricardo
  3. user.email=ricardo@example.com
  4. alias.p=push
  5. alias.st=status -sb
  6. alias.ll=log --oneline
  7. alias.last=log -1 HEAD --stat
  8. alias.cm=commit -m
  9. alias.rv=remote -v
  10. alias.d=diff
  11. alias.dv=difftool -t vimdiff -y
  12. alias.gl=config --global -l
  13. alias.se=!git rev-list --all | xargs git grep -F

8、搜索提交

Git 別名允許你定義更復(fù)雜的別名,比如執(zhí)行外部 shell 命令,可以在別名前加上 ! 字符。你可以用它來(lái)執(zhí)行自定義腳本或更復(fù)雜的命令,包括 shell 管道。

例如,定義 se 別名來(lái)搜索你的提交:

  1. $ git config --global alias.se '!git rev-list --all | xargs git grep -F'

使用這個(gè)別名來(lái)搜索提交中的特定字符串:

  1. $ git se test2
  2. 0baa729c1d683201d0500b0e2f9c408df8f9a366:file1:test2
  3. ca1494dd06633f08519ec43b57e25c30b1c78b32:file1:test2

自動(dòng)更正你的別名

使用 Git 別名的一個(gè)很酷的好處是它與自動(dòng)更正功能的原生集成。如果你犯了錯(cuò)誤,默認(rèn)情況下,Git 會(huì)建議使用與你輸入的命令相似的命令,包括別名。例如,如果你把 status 打成了 ts,而不是 st,Git 會(huì)推薦正確的別名:

  1. $ git ts
  2. git: 'ts' is not a git command. See 'git --help'.
  3.  
  4. The most similar command is
  5.         st

如果你啟用了自動(dòng)更正功能,Git 會(huì)自動(dòng)執(zhí)行正確的命令:

  1. $ git config --global help.autocorrect 20
  2. $ git ts
  3. WARNING: You called a Git command named 'ts', which does not exist.
  4. Continuing in 2.0 seconds, assuming that you meant 'st'.
  5. ## branch1
  6. ?? test4

優(yōu)化 Git 命令

Git 別名是一個(gè)很有用的功能,它可以優(yōu)化常見(jiàn)的重復(fù)性命令的執(zhí)行,從而提高你的效率。Git 允許你定義任意數(shù)量的別名,有些用戶會(huì)定義很多別名。我更喜歡只為最常用的命令定義別名 —— 定義太多別名會(huì)讓人難以記憶,而且可能需要查找才能使用。

更多關(guān)于別名的內(nèi)容,包括其他有用的內(nèi)容,請(qǐng)參見(jiàn) Git 維基的別名頁(yè)面。 

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2021-07-12 14:50:25

Linux命令文件

2016-04-28 16:17:44

又拍云/CDN

2020-12-22 10:46:42

Windows10操作系統(tǒng)應(yīng)用

2011-05-04 16:56:45

激光一體機(jī)使用技巧

2009-08-25 17:31:57

C#讀取文件

2017-05-10 09:53:55

奧菲 傳媒

2013-10-16 09:51:21

時(shí)間管理效率管理

2010-11-24 13:31:20

MYSQL表聯(lián)結(jié)

2010-07-01 14:59:51

FreeBSD 8

2021-01-27 13:28:55

編程語(yǔ)言Python

2017-10-16 13:23:18

手機(jī)信息iphone

2016-03-28 10:11:37

2011-03-31 09:26:15

MySQL擴(kuò)展性精簡(jiǎn)

2020-08-18 07:52:06

GitHub程序開(kāi)源

2022-10-04 09:00:51

無(wú)代碼低代碼

2022-01-12 14:31:06

遠(yuǎn)程會(huì)議遠(yuǎn)程工作視頻會(huì)議

2015-08-19 13:40:58

編程編程更有效

2018-07-23 13:02:30

數(shù)據(jù)可視化顏色數(shù)據(jù)

2022-12-25 10:11:40

LinuxPCMan文件管理器

2011-09-16 10:08:01

佳能傳真機(jī)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)