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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

帶有位置參數(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似乎沒(méi)有將位置參數(shù)傳遞給別名命令。我試過(guò):[alias]     files = "!git diff --name-status $1^ $1"     files = "!git diff --name-status {1}^ {1}".還有其他幾個(gè),但這些都不起作用.退化的情況是:$ git echo_reverse_these_params a b c d e e d c b a.我該怎么做呢?
查看完整描述

3 回答

?
慕森王

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊

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

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

沒(méi)有的別名!被視為Git命令;commit-all = commit -a.

帶著!,它在shell中作為自己的命令運(yùn)行,允許您像這樣使用更強(qiáng)大的魔法。

UPD
因?yàn)槊钤诖鎯?chǔ)庫(kù)的根處執(zhí)行,所以可以使用${GIT_PREFIX}變量時(shí),當(dāng)引用命令中的文件名時(shí)。


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

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊

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

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

(請(qǐng)注意行尾的破折號(hào)-你會(huì)需要的。)


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

TA貢獻(xiàn)1752條經(jīng)驗(yàn) 獲得超4個(gè)贊

您要尋找的別名是:

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

通過(guò)論證驗(yàn)證:

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

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

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

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


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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