我對 git 不是很有經驗,但幾個月前設定了私有存盤庫的公共鏡像,現在想將其更新為私有存盤庫的當前狀態。
我正在按照此處的說明進行操作,并且很確定這是我最初創建鏡像時所遵循的:
- 鏡像存盤庫
但是,這次當我執行以下操作時:
git clone --mirror https://github.com/billtubbs/process-observers.git
cd process-observers.git/
git push --mirror https://github.com/billtubbs/ml-obs.git
我明白了
Enumerating objects: 991, done.
Counting objects: 100% (991/991), done.
Delta compression using up to 8 threads
Compressing objects: 100% (261/261), done.
Writing objects: 100% (938/938), 2.27 MiB | 2.67 MiB/s, done.
Total 938 (delta 724), reused 889 (delta 677)
remote: Resolving deltas: 100% (724/724), completed with 40 local objects.
To https://github.com/billtubbs/ml-obs.git
74c80ea...9ff3e6b main -> main (forced update)
dce6fcc..9ff3e6b origin/main -> origin/main
* [new branch] origin/HEAD -> origin/HEAD
! [remote rejected] refs/pull/1/head -> refs/pull/1/head (deny updating a hidden ref)
! [remote rejected] refs/pull/2/head -> refs/pull/2/head (deny updating a hidden ref)
error: failed to push some refs to 'https://github.com/billtubbs/ml-obs.git'
這是什么意思“未能將一些裁判推到......”?
所有檔案似乎都已更新。
uj5u.com熱心網友回復:
在復制提交方面實際上并沒有出錯。這里發生的是,您的鏡像克隆包含原始存盤庫中可用的所有拉取請求提交;1您的后續git push嘗試將這些提交和用于查找它們的名稱發送到 GitHub 上的新存盤庫,但 GitHub 嚴格控制這些名稱,因此他們拒絕了創建此類名稱的嘗試。
原始 PR 提交從新副本中丟失,但在使用此方法復制 GitHub 存盤庫時總是會出現這種情況。
確實出了點小問題——這不是太嚴重——是您在新的 GitHub 存盤庫中創建了兩個偽造的分支名稱:
dce6fcc..9ff3e6b origin/main -> origin/main * [new branch] origin/HEAD -> origin/HEAD
第一行顯示您已更新origin/mainGitHub 存盤庫中的分支名稱,但您不希望這樣做。(無論出于何種原因,它已經在那里,可能是由您的原始序列創建的。)第二行顯示您origin/HEAD在 GitHub 存盤庫中創建了一個新的分支名稱。
雖然擁有這樣的名稱實際上并沒有破壞任何東西,但這些名稱對于用戶來說非常混亂,他們最終會在他們的克隆中使用origin/origin/main并origin/origin/HEAD遠程跟蹤名稱。所以從 GitHub 存盤庫中洗掉這兩個分支名稱是個好主意,這樣克隆它的人就不會得到這些奇怪、難以使用、難以處理的名稱。
1正如flotho 回答的那樣,GitHub 的說明說要使用git clone --bare,而不是git clone --mirror。使用--bare避免復制這些額外的名稱。不過,額外的名稱復制實際上并沒有害處,除了會引起隨后的投訴。
uj5u.com熱心網友回復:
我認為您可能在遵循檔案后犯了一個小錯誤。
嘗試將選項更改--mirror為--bare命令中的git clone。
就像檔案中寫的一樣:
- 創建存盤庫的裸克隆。
$ git clone --bare https://github.com/EXAMPLE-USER/OLD-REPOSITORY.git
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/521434.html
標籤:混帐推版本控制镜子
上一篇:即使在推送之后如何顯示VisualStudiogit中的所有更改
下一篇:從2個分支克隆差異檔案
