Git在版本2.13中继续改进了安全性和UI
Git的最新版本做了很多改進(jìn),旨在改進(jìn)其用戶界面,同時(shí)也修復(fù)了兩個(gè)重要的漏洞。
\\眾所周知,Git用于唯一識(shí)別對象的SHA-1哈希算法最近被證明容易受到碰撞攻擊。雖然Git團(tuán)隊(duì)準(zhǔn)備過渡到一個(gè)新的更安全的散列算法,但它們已經(jīng)實(shí)現(xiàn)了一種算法,這種算法可以檢測和拒絕任何創(chuàng)建時(shí)帶有制造沖突目的的對象。這應(yīng)該會(huì)有效地減輕被攻擊的風(fēng)險(xiǎn)。
\\在安全性方面,Git 2.13版本還修復(fù)了一個(gè)漏洞,這個(gè)漏洞會(huì)影響到所有使用git shell的Git托管服務(wù)器,它使攻擊者可以在遠(yuǎn)程服務(wù)器上靜默運(yùn)行shell命令。而該版本提供了一種更嚴(yán)格的方式,通過SSH來使用Git的push/pull命令和安裝在git-shell-commands目錄中的自定義命令。
\\同時(shí),Git 2.13版本在UI方面也做了很多改進(jìn)。尤其對于為不同項(xiàng)目工作的所有開發(fā)人員來說,最有用的功能是通過條件配置來處理多個(gè)身份的能力。簡而言之,條件配置提供了一種基于一組條件來包含Git配置文件的方法。例如,您可以在?/ .gitconfig文件中使用以下指令,以根據(jù)存儲(chǔ)庫所在目錄的路徑自定義Git配置:
\\[includeIf \"gitdir:~/work/\"]\ path = .gitconfig-work\[includeIf \"gitdir:~/play/\"]\ path = .gitconfig-play\\\具體來說,這可以用來在.gitconfig-work和.gitconfig-play中定義不同的用戶和電子郵件。
\\在Git 2.13版本中,幾乎所有開發(fā)人員都會(huì)使用到的功能是在Git命令中使用路徑規(guī)則,即pathspecs。 例如,如果要在存儲(chǔ)庫中對給定類型的所有文件執(zhí)行g(shù)rep,可以寫:
\\git grep my_pattern '*.c'\\\現(xiàn)在,您還可以使用否定pathspecs(從命令中排除特定的pathspec)以及使用屬性的pathspec(在pathspec定義中包括這些屬性)。 例如:
\\git grep text_to_search -- src ':(exclude)*.c'\\\其他顯著地改進(jìn)包括:
\\- \
git branch、git tag和git for-each-ref現(xiàn)在支持的--no-contains選項(xiàng),可用于選擇不包含指定提交的標(biāo)簽或分支,例如:
\\git tag -l --no-contains cf5c725 'v[0-9]*' | sort | tail -n 10
\\已有--contains選項(xiàng)時(shí)--no-contains選項(xiàng)會(huì)被忽略,例如查找在兩個(gè)標(biāo)簽之間創(chuàng)建的分支:
\\git branch --contains v2.8.0 --no-contains v2.10.0
\ \\ - \
git stash支持使用pathspecs來暫存當(dāng)前正在進(jìn)行的工作,從而允許更多地控制要被暫存的內(nèi)容。
\ \\ - 子模塊現(xiàn)在有自己獨(dú)立的命令,包括checkout、grep和ls-files。 這意味著子模塊支持遞歸遍歷。 另外,git status --short可以查詢出有關(guān)子模塊的更多狀態(tài)信息。\
您可以閱讀完整的發(fā)版說明,詳細(xì)了解Git 2.13版本中的新功能。
\\查看英文原文:Git Continues to Improve Security and UI in Version 2.13
\\感謝冬雨對本文的審校。
\給InfoQ中文站投稿或者參與內(nèi)容翻譯工作,請郵件至editors@cn.infoq.com。也歡迎大家通過新浪微博(@InfoQ,@丁曉昀),微信(微信號(hào):InfoQChina)關(guān)注我們。
總結(jié)
以上是生活随笔為你收集整理的Git在版本2.13中继续改进了安全性和UI的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js温故而知新11(AJAX)——学习廖
- 下一篇: context:annotation-c