在各個地方,尋找有關如何從 GitHub 拉取請求創建本地分支的說明,我看到了兩個版本:
git fetch upstream refs/pull/PR_ID/head:NEW_LOCAL_BRANCH
和
git fetch upstream pull/PR_ID/head:NEW_LOCAL_BRANCH
我的問題是,在地址中包含“”和不包含它有什么區別?refs
兩者似乎都作業正常。
uj5u.com熱心網友回復:
在地址中包含“refs”和不包含它有什么區別?
包括它會直接提供一個有效的參考。
不包括它意味著 Git 必須弄清楚你的意思。它通過嘗試東西來做到這一點。它嘗試的第一件事就是把refs/你所說的放在前面——天哪,這很管用。
(有關 Git 用來理解您的意思的完整程序的說明,請參閱
https://git-scm.com/docs/gitrevisions
查看指定修訂下的第三個條目。)
uj5u.com熱心網友回復:
前綴refs/pull/是 GitHub 發明的 ref(或參考)命名空間——如果這個詞不是太強的話——用于他們的 Pull Request 功能。它不是標準的 Git 命名空間,Git 在獲取時默認會忽略命名空間中的refs/pull/名稱。
正如matt 所指出的,如果您使用縮寫的ref(在任何地方,而不僅僅是在 refspec 中),Git 將盡可能嘗試將其與完整的 ref 匹配。進行此匹配的精確規則取決于您在何處使用此類名稱。gitrevisions 檔案中概述了通常的集合,但它談論的是僅存在于您自己的存盤庫中的本地參考;當你在做git fetchor時git push,一些 refs 不是本地的,這些規則會有點彎曲。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/467727.html
標籤:混帐 github git-refspec
上一篇:一個字串行中的Git提取修改
下一篇:N皇后演算法
