30

我想为 git 命令使用快捷方式或别名。

git diff
git status
git push 
git pull
git stash
git branch -a

如何创建快捷方式或别名,是否有预定义列表?

4

6 回答 6

62

把这个放到你的.gitconfig

[alias]
  st = status
  ci = commit
  br = branch
  co = checkout

您可以根据需要添加任意数量

于 2013-02-07T14:36:44.707 回答
22
git config --global alias.<short> <long>

例如

git config --global alias.cob "checkout -b"

(没有--global,您将获得每个项目的别名。)

于 2013-02-07T14:35:56.173 回答
14

我会推荐oh-my-zsh git快捷方式。

它有一个非常详尽的(超过 100 个快捷方式)列表。

这是一个示例,可帮助您入门:

alias ga='git add'
alias gc='git commit -v'
alias gd='git diff'
alias gst='git status'

alias gco='git checkout'
alias gcm='git checkout master'

alias gb='git branch'
# view remote branches
alias gbr='git branch --remote'

alias gup='git pull --rebase'
alias gp='git push'
# push a newly created local branch to origin
alias gpsup='git push --set-upstream origin $(git_current_branch)'

大多数快捷方式中的字母选择使它们足够直观。

使用流行且活跃的开源项目提供的快捷方式有很多好处。其中一些:

  • 从不在乎是否丢失它们,因为您可以轻松找到它们!
  • 增加其他人与您拥有相同快捷方式的机会,从而相互学习。
  • 减少快捷方式与其他命令冲突的机会。

即使您不使用 zsh,您仍然可以将它们复制到常规的 shell 配置文件中,例如.bashrc.

我还添加了

alias oh='less ~/.oh-my-zsh/plugins/git/git.plugin.zsh'

这样我就可以直接从终端快速读取可用的快捷方式。

于 2018-01-31T21:42:24.757 回答
2

不止一种方法可以做到这一点。下面用例子来解释:

[1] 使用 git 本身提供的“别名”选项。

示例: git config --global alias.co checkout

因此用法: git co

这相当于在'~/.gitconfig'中手动输入条目(此路径因为使用了--global,否则将使用您尝试设置的项目的.gitconfig文件)。

[alias]
  co = checkout

因此,按照指定手动输入文件也可以是另一种设置别名的方式。

了解更多信息

[2] 使用 .bash_profile/.bashrc。

编辑您的~/.bash_profile~/.bashrc,如下所示:

示例:别名 go='git checkout'

因此用法:

(根据您的情况,在更改文件后不要忘记“source ~/.bash_profile”或“source ~/.bashrc”)。

了解更多信息

因此,如果您清楚地看到,第二种方法是进一步将速记/别名放入 git-command 用法(用于您的个人资料)。

此外,别名意味着易于使用,因此您更喜欢/放心,是您可以添加的(例如:我可以说,Giraffe = git checkout,如果这是我的方便)。

于 2017-03-30T04:52:08.947 回答
0

我为 bash 调用了一个终端“模式”,git_mode以避免键入git和使用cforcommit等。

你可以在这里找到它。

示例命令如下所示:

# Add
alias a='git add'
alias add='git add'

# Diff
alias d='git diff'
alias diff='git diff'

# Grep/Search
alias search='git grep'
alias grep='git grep'

# Merge
alias merge='git merge'
alias m='git merge'

# Branch
alias b='git branch'

# Status
alias s='git status'
alias status='git status'

# Commit
alias c='git commit'
alias commit='git commit'

# Remote
alias remote='git remote'

# Pull
alias pull='git pull'

# Push
alias push='git push'

# init
alias init='git init'
alias i='git init'

# clone
alias clone='git clone'

# checkout
alias ch='git checkout'
alias checkout='git checkout'

# stash
alias stash='git stash'
于 2018-07-09T09:43:23.850 回答
0

我使用这个库,SCM Breeze。它为文件提供了非常酷的 UI,并且易于使用。

于 2020-06-25T08:10:59.650 回答