Создание псевдонимов в PowerShell для команд git? - PullRequest
42 голосов
/ 18 мая 2010

Я прекрасно понимаю, как создавать псевдонимы в PowerShell для командлетов, но я хочу создать псевдоним в PowerShell для таких вещей, как «git status», например «gs» и «git pull origin master», например, «gpm» в правильном направлении?

Ответы [ 5 ]

53 голосов
/ 18 мая 2010

Сначала вам нужно будет создать функцию, в которой есть ваша команда. Затем создайте псевдоним для этой функции.

PS C:\Users\jpogran\code\git\scripts> function get-gitstatus { git status }

PS C:\Users\jpogran\code\git\scripts> get-gitstatus
# On branch master
nothing to commit (working directory clean)

PS C:\Users\jpogran\code\git\scripts> Set-Alias -Name gs -Value get-gitstatus

PS C:\Users\jpogran\code\git\scripts> gs
# On branch master
nothing to commit (working directory clean)

Возможно, вас также заинтересует проект ОС под названием posh-git , целью которого является создание среды powershell для команд git. Объединяет команды git с функциями типа PS, а также предоставляет новое приглашение, которое отображает состояние и ответвление в вашем приглашении.

РЕДАКТИРОВАТЬ: Забыл добавить, как узнать, как сделать это с помощью Powershell.

PS C:\Users\jpogran\code\git\scripts> get-help set-alias -examples

Это покажет вам примеры (последний применяется здесь) того, как использовать set-alias для создания псевдонимов команд с параметрами, конвейерами и т. Д.

23 голосов
/ 21 апреля 2014

Просто создал несколько ярлыков для себя и хотел бы поделиться:

Создать профиль PowerShell (если у вас его еще нет):

New-Item -Type file -Path $PROFILE -Force

Открыть его для редактирования:

notepad $PROFILE

Добавьте следующие функции и псевдонимы:

function Get-GitStatus { & git status $args }
New-Alias -Name s -Value Get-GitStatus
function Set-GitCommit { & git commit -am $args }
New-Alias -Name c -Value Set-GitCommit

При перезапуске сеанса PowerShell вы также сможете передавать аргументы псевдонимам.Например:

c "This is a commit message"

Обновление:

Вот еще несколько моих часто используемых ярлыков:

function Get-GitStatus { & git status -sb $args }
New-Alias -Name s -Value Get-GitStatus -Force -Option AllScope
function Get-GitCommit { & git commit -ev $args }
New-Alias -Name c -Value Get-GitCommit -Force -Option AllScope
function Get-GitAdd { & git add --all $args }
New-Alias -Name ga -Value Get-GitAdd -Force -Option AllScope
function Get-GitTree { & git log --graph --oneline --decorate $args }
New-Alias -Name t -Value Get-GitTree -Force -Option AllScope
function Get-GitPush { & git push $args }
New-Alias -Name gps -Value Get-GitPush -Force -Option AllScope
function Get-GitPull { & git pull $args }
New-Alias -Name gpl -Value Get-GitPull -Force -Option AllScope
function Get-GitFetch { & git fetch $args }
New-Alias -Name f -Value Get-GitFetch -Force -Option AllScope
function Get-GitCheckout { & git checkout $args }
New-Alias -Name co -Value Get-GitCheckout -Force -Option AllScope
function Get-GitBranch { & git branch $args }
New-Alias -Name b -Value Get-GitBranch -Force -Option AllScope
function Get-GitRemote { & git remote -v $args }
New-Alias -Name r -Value Get-GitRemote -Force -Option AllScope
6 голосов
/ 18 мая 2010

Я не знаю PowerShell, но вы можете настроить псевдонимы прямо в Git .

5 голосов
/ 30 мая 2015

Я создал posh-git-alias , который вы можете просто добавить в PowerShell $PROFILE.

2 голосов
/ 18 мая 2010

Вам нужно создать файл profile.ps1, поместить его в папку вызова WindowsPowerShell в моих документах.

Затем вставьте в файл profile.ps1 строку, подобную этой:

set-alias wit 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\witadmin.exe'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...