Git在版本2 13中繼續改進了安全性和UI

2021-09-17 03:23:16 字數 1254 閱讀 3136

git的最新版本做了很多改進,旨在改進其使用者介面,同時也修復了兩個重要的漏洞。

\\ 眾所周知,git用於唯一識別物件的sha-1雜湊演算法最近被證明容易受到碰撞攻擊。雖然git團隊準備過渡到乙個新的更安全的雜湊演算法,但它們已經實現了一種演算法,這種演算法可以檢測和拒絕任何建立時帶有製造衝突目的的物件。這應該會有效地減輕被攻擊的風險。

\\ 在安全性方面,git 2.13版本還修復了乙個漏洞,這個漏洞會影響到所有使用git shell的git託管伺服器,它使攻擊者可以在遠端伺服器上靜默執行shell命令。而該版本提供了一種更嚴格的方式,通過ssh來使用git的push/pull命令和安裝在git-shell-commands目錄中的自定義命令。

\\ 同時,git 2.13版本在ui方面也做了很多改進。尤其對於為不同專案工作的所有開發人員來說,最有用的功能是通過條件配置來處理多個身份的能力。簡而言之,條件配置提供了一種基於一組條件來包含git配置檔案的方法。例如,您可以在〜/ .gitconfig檔案中使用以下指令,以根據儲存庫所在目錄的路徑自定義git配置:

\\

[includeif \"gitdir:~/work/\"]\  path = .gitconfig-work\[includeif \"gitdir:~/play/\"]\  path = .gitconfig-play\
\\

具體來說,這可以用來在.gitconfig-work和.gitconfig-play中定義不同的使用者和電子郵件。

\\ 在git 2.13版本中,幾乎所有開發人員都會使用到的功能是在git命令中使用路徑規則,即pathspecs。 例如,如果要在儲存庫中對給定型別的所有檔案執行grep,可以寫:

\\

git grep my_pattern '*.c'\
\\

現在,您還可以使用否定pathspecs(從命令中排除特定的pathspec)以及使用屬性的pathspec(在pathspec定義中包括這些屬性)。 例如:

\\

git grep text_to_search -- src ':(exclude)*.c'\
\\

其他顯著地改進包括:\\

您可以閱讀完整的發版說明,詳細了解git 2.13版本中的新功能。

\\檢視英文原文:git continues to improve security and ui in version 2.13

\\ 感謝冬雨對本文的審校。

\

Git在版本2 13中繼續改進了安全性和UI

git的最新版本做了很多改進,旨在改進其使用者介面,同時也修復了兩個重要的漏洞。u0026 xd n u0026 xd n 眾所周知,git用於唯一識別物件的sha 1雜湊演算法最近被證明容易受到碰撞攻擊。雖然git團隊準備過渡到乙個新的更安全的雜湊演算法,但它們已經實現了一種演算法,這種演算法可以...

在 Git 中 Checkout 歷史版本

昨天寫 的時候,誤刪了乙個檔案。今天發現的時候,commit 已經 push 到版本庫了。本想用git reset回退版本,找回檔案後重新提交。但是想起 git 是乙個版本控制系統哎,直接從版本庫里 checkout 出某個檔案的歷史版本不就好了?想法挺好,但是很久沒用這個功能,自己已經不記得具體的...

在 Git 中 Checkout 歷史版本

昨天寫 的時候,誤刪了乙個檔案。今天發現的時候,commit 已經 push 到版本庫了。本想用git reset回退版本,找回檔案後重新提交。但是想起 git 是乙個版本控制系統哎,直接從版本庫里 checkout 出某個檔案的歷史版本不就好了?想法挺好,但是很久沒用這個功能,自己已經不記得具體的...