本篇內(nèi)容介紹了“怎么用git實(shí)現(xiàn)快速定位提交”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了禮縣免費(fèi)建站歡迎大家使用!
誰(shuí)動(dòng)了我的代碼?
誰(shuí)的 bug 指到了我的頭上?
團(tuán)隊(duì)合作時(shí),經(jīng)常會(huì)出現(xiàn)這樣的問(wèn)題。這時(shí)候可以使用 git blame
來(lái)定位代碼的最后一次修改。但是,有一個(gè)問(wèn)題,這并不能看出本行代碼以前的修改。比如項(xiàng)目組中某人對(duì)全部代碼進(jìn)行了格式化,git blame
就失去了作用。此時(shí),可以與另一個(gè)有用的命令 git log -p
結(jié)合使用,可以查看文件的更改歷史與明細(xì),最終找到這個(gè)鍋究竟應(yīng)該由誰(shuí)來(lái)背。
git blame -L 10,12 package.json
git log -p -L 10,12:package.json
當(dāng)你經(jīng)常工作于 A 與 B 兩個(gè)分支,需要來(lái)回切。這時(shí)命令應(yīng)該是 git checkout A
,但這里有一個(gè)更簡(jiǎn)單的命令,git checkout -
,表示切到最近的一次分支。如果你需要把 B 分支的內(nèi)容合并過(guò)來(lái),可以使用 git merge -
。
題外話,cd -
代表進(jìn)入最近目錄,也相當(dāng)實(shí)用。
git checkout -
git merge -
統(tǒng)計(jì)項(xiàng)目各個(gè)成員 commit 的情況,比如你可以查看你自己的項(xiàng)目的 commit 數(shù)以及他人對(duì)你項(xiàng)目的貢獻(xiàn)數(shù)
git shortlog -sn
git shortlog -sn --no-merges # 不包含 merge commit
如果你的 commit message 比較規(guī)范,比如會(huì)關(guān)聯(lián) issuse 或者當(dāng)前任務(wù)或者 bug 的編號(hào),此時(shí)根據(jù) commit message 快速定位:git log --grep "Add"
。
如果你的 commit message 不太規(guī)范,只記得改了哪幾行代碼,此時(shí)也可以根據(jù)每次提交的信息查找關(guān)鍵字,是 git log -S "setTimeout"
。
同時(shí),也可以根據(jù)作者,時(shí)間來(lái)輔助快速定位。
git log --since="0 am" # 查看今日的提交
git log --author="shfshanyue" # 查看 shfshanyue 的提交
git log --grep="#12" # 查找提交信息中包含關(guān)鍵字的提交
git log -S "setTimeout" # 查看提交內(nèi)容中包含關(guān)鍵字的提交
如何查找包換關(guān)鍵字的全部文件?
使用 VS Code
可以全局搜索,使用 grep
也可以通過(guò) grep -rn
來(lái)全局搜索。
不過(guò),它們也會(huì)連帶搜索忽略文件,比如前端著名的兩個(gè)文件夾 node_modules
和 public(dist/build)
。雖然 grep 可以指定 --exclude
來(lái)忽略文件,不過(guò) git
來(lái)的更方便一些。
這時(shí),可以使用 git grep
來(lái)解決這個(gè)問(wèn)題,另外 ag 也可以解決這個(gè)問(wèn)題。
grep -rn
grep -rn --exclude config.js --exclude-dir node_modules
git grep
ag
“怎么用git實(shí)現(xiàn)快速定位提交”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!