Я прекрасно понимаю, как создавать псевдонимы в PowerShell для командлетов, но я хочу создать псевдоним в PowerShell для таких вещей, как git status
как просто gs
, а git pull origin master
как gpm
. Может кто-то указать мне верное направление?
Создание псевдонимов в PowerShell для команд git?
Ответы (5)
Сначала вам нужно будет создать функцию, в которой есть ваша команда. Затем создайте псевдоним для этой функции.
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 для создания псевдонимов для команд с параметрами, конвейерами и т. д.
Get-GitStatus
, как указано выше, вы перезапишете функцию Get-GitStatus
posh-git, которая используется для получения структурированной информации о состоянии для создания пользовательского приглашения.
- person Andrew Spencer; 09.02.2020
Просто создал несколько ярлыков для себя и хотел поделиться:
Создайте профиль 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
s
, а затем вызовите его напрямую как команду.
- person Daniel Werner; 08.01.2021
Я не знаю PowerShell, но вы можете настроить псевдонимы непосредственно в Git.
Я создал posh-git-alias, который вы можете просто добавить в свой PowerShell $PROFILE
.
Вам нужно создать файл profile.ps1, поместить его в папку с именем WindowsPowerShell в моих документах.
Затем поместите в profile.ps1 такую строку:
set-alias wit 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\witadmin.exe'