第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶有位置參數(shù)的Git別名

帶有位置參數(shù)的Git別名

Git
慕桂英546537 2019-07-17 09:24:13
帶有位置參數(shù)的Git別名基本上我只是想化名:git files 9fa3.執(zhí)行命令:git diff --name-status 9fa3^ 9fa3但是git似乎沒有將位置參數(shù)傳遞給別名命令。我試過:[alias]     files = "!git diff --name-status $1^ $1"     files = "!git diff --name-status {1}^ {1}".還有其他幾個,但這些都不起作用.退化的情況是:$ git echo_reverse_these_params a b c d e e d c b a.我該怎么做呢?
查看完整描述

3 回答

?
慕森王

TA貢獻1777條經(jīng)驗 獲得超3個贊

最明顯的方法是使用shell函數(shù):

[alias]
    files = "!f() { git diff --name-status \"$1^\" \"$1\"; }; f"

沒有的別名!被視為Git命令;commit-all = commit -a.

帶著!,它在shell中作為自己的命令運行,允許您像這樣使用更強大的魔法。

UPD
因為命令在存儲庫的根處執(zhí)行,所以可以使用${GIT_PREFIX}變量時,當引用命令中的文件名時。


查看完整回答
反對 回復(fù) 2019-07-17
?
元芳怎么了

TA貢獻1798條經(jīng)驗 獲得超7個贊

你也可以參考sh直接(而不是創(chuàng)建函數(shù)):

[alias]
        files = !sh -c 'git diff --name-status $1^ $1' -

(請注意行尾的破折號-你會需要的。)


查看完整回答
反對 回復(fù) 2019-07-17
?
溫溫醬

TA貢獻1752條經(jīng)驗 獲得超4個贊

您要尋找的別名是:

files = "!git diff --name-status \"$1\"^ \"$1\" #"

通過論證驗證:

files = "!cd -- \"${GIT_PREFIX:-.}\" && [ x$# != x1 ] && echo commit-ish required >&2 || git diff --name-status \"$1\"^ \"$1\" #"

這個最終#很重要-它阻止所有用戶提供的參數(shù)被shell處理(它將它們注釋掉)。

注:git將所有用戶提供的參數(shù)放在命令行的末尾。若要查看此操作,請嘗試:GIT_TRACE=2 git files a b c d

逃逸者(由于筑巢)引號對于包含空格或"; rm -rf --no-preserve-root /;)


查看完整回答
反對 回復(fù) 2019-07-17
  • 3 回答
  • 0 關(guān)注
  • 463 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號