簡體   English   中英

git 分支名稱有快捷方式嗎?

[英]Is there a shortcut for git branch name?

我傾向於使用 git 的長分支名稱(例如,step110_create_search_engine_to_replace_google)。

我應該如何在結帳/提交語句中將其簡稱為 step110?

如果您使用的是類 Unix 系統(Linux、Mac OS X 或其他),則可以使用contrib/complete/git-completion.bash bash 自動完成規則集,它可以讓您自動完成 git 命令(您可以輸入git checkout step110<tab> ,你的 shell 將自動完成分支名稱。

要激活它:

  • 如果你有 git 源代碼,在contrib/complete/有一個文件git-completion.bash 把它放在安全的地方(比如~/.git-completion ),然后~/.git-completion下行添加到你的~/.bashrc文件中: source ~/.git-completion 要么重啟你的 shell 會話,要么運行source ~/.git-completion讓它在當前的 shell 會話中運行。
  • 如果你沒有git 源代碼,你可以從這里(github.com) 獲取腳本。 然后按照與上述相同的說明進行操作。

如果你有幸使用zsh而不是bash ,我知道oh-my-zsh有 git 自動完成插件(我不知道如何在沒有oh-my-zsh情況下激活它們)。

資料來源:

這是我在 OS X 上安裝它的方法...

首先檢查它是否在您的本地系統上。 MacPorts 和 Homebrew 似乎為您下載了它。

$ find / -name "git-completion.bash"

否則,下載它...

$ wget https://raw.github.com/git/git/master/contrib/completion/git-completion.bash -O ~/.git-completion

如果您沒有wget ,您可以使用Homebrew或使用cURL輕松安裝它。

$ vim ~/.profile

...或您選擇的編輯器。

然后加...

source ~/.git-completion

如果您的自動完成功能無法自動運行...

$ source ~/.profile

...然后你有 Git 自動完成功能。

試試這個別名:

cb = "!checkoutbranch() { local branches=`git branch | grep -i $1 | tr -d '* '`; if [[ `echo \"$branches\" | wc -l | tr -d ' '` != 1 ]]; then echo \"Matched multiple branches:\"; git branch | grep --color -i $1; exit 1; fi; git checkout $branches; }; checkoutbranch"

簽出develop分支:

git cb dev

- - 編輯 - -

更好的版本: https : //gist.github.com/iwill/88f5835bfc4e58aa1a88

如果您懶得甚至連按TAB , git symbolic-ref可能會有所幫助。 您可以為分支創建別名。

$ # Define short name 's1'
$ git symbolic-ref refs/heads/s1 refs/heads/step110_create_search_engine_to_replace_google
$
$ # You can use short name 's1' afterwards
$ git reset --hard s1
$ git checkout -b s1-experiment s1
$
$ # Remove the short name (don't use branch -d here or the original branch gets deleted!)
$ git symbolic-ref -d refs/heads/s1

可以以相同的方式引用遠程分支以節省鍵入remote/ TAB (在這種情況下,我建議使用refs/tags/而不是refs/heads/作為前綴,以防止意外移動遠程 ref)

$ git symbolic-ref refs/tags/base refs/remotes/github/a-very-long-named-remote-branch
$ git rebase -i base

我只想補充一點,這個文件通常已經隨 git 一起提供了。 您無需再次下載。 您只需要找到它並運行它。

在我的系統 (Centos OS) 上,以下步驟有效:

$ locate completion.bash
/usr/share/doc/git-1.7.4.1/contrib/completion/git-completion.bash
$ source /usr/share/doc/git-1.7.4.1/contrib/completion/git-completion.bash

顯然,正如已經指出的那樣,最好將此行添加到主目錄中的 .bashrc 文件中,這樣每次打開新 shell 時都不需要重復它。

就我而言,我會將最后一個命令添加到我的 .bashrc 文件中

source /usr/share/doc/git-1.7.4.1/contrib/completion/git-completion.bash

在類 Unix 系統上你可以。

git branch | cut -d ' ' -f 2 | tr -d '\n'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM