我看了一段录像,里面有人
git st
git ci
去工作。当我这样做时,我得到一个错误,问我是否我指的是其他东西。 作为一个新手,我想知道你要怎么做才能完成这件事?
我看了一段录像,里面有人
git st
git ci
去工作。当我这样做时,我得到一个错误,问我是否我指的是其他东西。 作为一个新手,我想知道你要怎么做才能完成这件事?
当前回答
基本上,您只需要在~/.gitconfig中添加行即可
[alias]
st = status
ci = commit -v
或者你可以使用git config alias命令:
$ git config --global alias.st status
在unix中,如果别名中有空格,则使用单引号:
$ git config --global alias.ci 'commit -v'
在windows中,如果别名有空格或命令行参数,则使用双引号:
c:\dev> git config --global alias.ci "commit -v"
alias命令甚至接受函数作为参数。看看别名。
其他回答
对于那些希望以git别名执行shell命令的人,例如:
$ git pof
在我的终端将推动当前分支到我的原点回购:
[alias]
pof = !git push origin -f $(git branch | grep \\* | cut -d ' ' -f2)
在哪里
$(git branch | grep \\* | cut -d ' ' -f2)
命令返回当前分支。
这是手动输入分支名称的快捷方式:
git push origin -f <current-branch>
你可以使用git的配置设置自定义的git别名。语法如下:
git config --global alias.<aliasName> "<git command>"
例如,如果你需要一个别名来显示有合并冲突的文件列表,运行:
git config --global alias.conflicts "diff --name-only --diff-filter=U"
现在你只能使用"conflicts"来使用上面的命令:
git conflicts
# same as running: git diff --name-only --diff-filter=U
为了让别名比其他答案中提到的标准git配置方式更短,我创建了一个npm包mingit (npm install -g mingit),这样大多数命令将变成两个字符而不是两个单词。下面是一些例子:
g a . // git add .
g b other-branch // git branch other-branch
g c "made some changes" // git commit -m "made some changes"
g co master // git checkout master
g d // git diff
g f // git fetch
g i // git init
g m hotfix // git merge hotfix
g pll // git pull
g psh // git push
g s // git status
其他命令也同样简短。这也保持了bash的完成。该包为您的dotfiles添加了一个bash函数,适用于osx, linux和windows。此外,与其他别名不同,它别名git -> g以及第二个参数。
要在Git中创建别名,请使用以下命令:
git config --local alias.s status
git config --local alias.c commit
git s
On branch master
nothing to commit, working tree clean
git status
On branch master
nothing to commit, working tree clean
windows的另一种可能是在一个目录中填满含有快捷方式的.bat文件。文件的名称就是要使用的快捷方式。只需将该目录添加到您的PATH环境变量中,您就可以在cmd窗口中使用所有的快捷方式。
例如(gc.bat):
git commit -m %1
在控制台中执行如下命令:
gc "changed stuff"
我添加这个作为答案的原因是,当使用这个时,你不局限于git…只有命令。