2010-05-18 10 views

Respuesta

43

Primero tendrá que crear una función que tenga su comando en ella. Luego crea un alias para esa función.

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) 

También podría estar interesado en el proyecto OS llamada posh-git que tiene como objetivo proporcionar un entorno de PowerShell para comandos de Git. Ajusta los comandos de git con funciones de tipo PS y también proporciona un nuevo aviso que muestra el estado y la bifurcación en su solicitud.

EDITAR: Se olvidó de agregar cómo averiguar cómo hacerlo con Powershell.

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

Esto le mostrará ejemplos (el último se aplica aquí) de cómo utilizar Set-Alias ​​para crear alias de comandos con Paramaters, tuberías, etc.

+0

Puntos de bonificación por agregar las funciones git + alias en una secuencia de comandos independiente, y hacer que se obtengan de su perfil. – Goyuix

+0

http://technet.microsoft.com/library/hh849938.aspx#sectionSection8 para los ejemplos en línea :) – Crisfole

+0

un millón de votos positivos – thedanotto

6

No conozco PowerShell, pero puede setup aliases directly in Git.

+0

El enlace de arriba no funcionó para mí. este enlace proporciona información similar https://git.wiki.kernel.org/articles/a/l/i/Aliases.html –

2

Es necesario crear un profile.ps1 archivo de ponerlo en una carpeta llamada WindowsPowerShell en mis documentos

a continuación, poner en profile.ps1 una línea como esta:

set-alias wit 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\witadmin.exe' 
16

acaba de crear algunos atajos para mí y quería t o Compartir:

Crear un perfil de PowerShell (si no tiene ya uno):

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

abierto a editar:

notepad $PROFILE 

Añadir las siguientes funciones y alias:

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 

Cuando reinicia su sesión de PowerShell, también debe poder pasar argumentos a los alias. ej .:

c "This is a commit message" 

Actualización:

Éstos son algunos más de los accesos directos de uso frecuente:

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 
+0

¿Qué hace &? –

+0

@MattW El operador de y comercial fuerza a PowerShell a ejecutar los siguientes argumentos como un comando (CMD).Puede que no siempre sea necesario, pero descubrí que evita efectos no deseados que podrían resultar de argumentos inyectados al final del comando ($ args) que se evalúan incorrectamente. –

4

creé posh-git-alias la que sólo se puede añadir a su PowerShell $PROFILE.

+0

¡Gracias por eso! Muy útil para mi – tomd

Cuestiones relacionadas