我正在一些服務器端軟件上進行合併。通過使用git worktree
,可以檢出一個給定的分支以進行裸回購,並將另一分支合併到其中。速度非常快,即使是大型存儲庫也是如此。Git - 裸回購不能爲主分支工作樹 - 爲什麼?
唯一的例外似乎是合併到master
。當我做git worktree add /tmp/path/to/worktree master
我得到一個錯誤:
fatal: 'master' is already checked out at '/path/to/bare/repo'
但是,這顯然是不正確的,git worktree list
給出:
/path/to/bare/repo (bare)
...當然,還有在這條道路沒有工作的樹,只您期望的裸回購文件。
更新:我與git維護人員取得了聯繫,他們同意這可能是一個錯誤。我有一個來自他們的初步補丁來測試。此外,我還能夠重現所需的行爲,而無需修補程序。
在這一點上,我不完全確定邊界條件或根本原因是什麼,並且可能會從git中得到修復。
從閱讀文檔看來,您可能需要傳遞'-b'選項來創建分支才能工作。 –
嗯。但是這個回購中有一個現有的主分支。錯誤信息似乎也證實了這一點。 也許從我上面的描述中不清楚,但是這種方法與其他分支一起工作正常(沒有錯誤消息),包括將*從* master合併到另一個分支。 – mtutty