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

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

如何找到在任何分支中引入字符串的Git提交?

如何找到在任何分支中引入字符串的Git提交?

Git
犯罪嫌疑人X 2019-09-18 10:57:21
我希望能夠找到任何分支中任何提交中引入的某個(gè)字符串,我該怎么做?我找到了一些東西(我為Win32修改過),但git whatchanged似乎沒有查看不同的分支(忽略py3k塊,它只是一個(gè)msys / win換行修復(fù))git whatchanged -- <file> | \grep "^commit " | \python -c "exec(\"import sys,msvcrt,os\nmsvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)\nfor l in sys.stdin: print(l.split()[1])\")" | \xargs -i% git show origin % -- <file>如果您的解決方案很慢,這并不重要。
查看完整描述

3 回答

?
翻閱古今

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

你可以做:


git log -S <whatever> --source --all

查找添加或刪除固定字符串的 所有提交whatever。該--all參數(shù)意味著從每個(gè)分支開始,并且--source意味著顯示哪些分支導(dǎo)致找到該提交。添加-p以顯示每個(gè)提交也將引入的補(bǔ)丁通常很有用。


自1.7.4以來的git版本也有類似的-G選項(xiàng),它采用正則表達(dá)式。這實(shí)際上有不同(而且更明顯)的語(yǔ)義,在Junio Hamano的博客文章中有所解釋。


正如thameera在評(píng)論中指出的那樣,如果它包含空格或其他特殊字符,則需要在搜索詞周圍加上引號(hào),例如:


git log -S 'hello world' --source --all

git log -S "dude, where's my car?" --source --all

這是一個(gè)-G用于查找出現(xiàn)次數(shù)的示例function foo() {:


git log -G "^(\s)*function foo[(][)](\s)*{$" --source --all


查看完整回答
反對(duì) 回復(fù) 2019-09-18
?
眼眸繁星

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

--reverse也很有幫助,因?yàn)槟枰M(jìn)行更改的第一個(gè)提交:


git log --all -p --reverse --source -S 'needle'

這樣,舊的提交將首先出現(xiàn)。


查看完整回答
反對(duì) 回復(fù) 2019-09-18
?
慕慕森

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

用相同的答案搞清楚:


$ git config --global alias.find '!git log --color -p -S '

!因?yàn)槠渌绞?,git不能正確地將參數(shù)傳遞給-S??吹竭@個(gè)回復(fù)

--color和-p有助于準(zhǔn)確顯示“whatchanged”

現(xiàn)在你可以做到


$ git find <whatever>

要么


$ git find <whatever> --all

$ git find <whatever> master develop


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

添加回答

舉報(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)