有沒有辦法在git中共享版本庫的歷史,而不必再次克隆整個文件夾?東西相當於Mercurial的git相當於'hg share'?
hg share project project-branch
https://www.mercurial-scm.org/wiki/ShareExtension
有沒有辦法在git中共享版本庫的歷史,而不必再次克隆整個文件夾?東西相當於Mercurial的git相當於'hg share'?
hg share project project-branch
https://www.mercurial-scm.org/wiki/ShareExtension
如果我理解爲hg share
的文件,Git的相當於最接近的是git worktree
,在2.5版本的新功能:
管理多個工作樹連接到同一個存儲庫。
一個git倉庫可以支持多個工作樹,允許你一次簽出多個分支。通過
git worktree add
,一個新的工作樹與存儲庫相關聯。這個新的工作樹稱爲「鏈接工作樹」,而不是由「git init」或「git clone」準備的「主工作樹」。存儲庫具有一個主工作樹(如果它不是裸存儲庫)以及零個或多個鏈接的工作樹。
我相信它仍處於測試階段,並且明確警告不要將它與子模塊配合使用。
從存儲庫運行git worktree add ../some/path/ branch
將創建一個新的工作副本,其中branch
檢出在../some/path/
。
可以找到這個新命令的更長的概述on GitHub's blog。
是的,就是這樣!我不知道他們已經添加了這個功能:)謝謝。 – endavid
嗯,我根本不知道mercurial。我想我理解那個網站說你想要多個有一個歷史的工作樹。是[這](http://stackoverflow.com/questions/6270193/multiple-working-directories-with-git)你在找什麼?這似乎是最接近你可以用git – houtanb
你可以請詳細說明那些對Mercurial不熟悉的gitsters的「共享」部分嗎?我會猜測。如果你想製作另一個本地倉庫,並從你現有的倉庫中取得一些歷史記錄,那麼使用Git就可以從* local * repos獲取歷史記錄 - 只需使用'/ path/to/local/repo'或' file:/// path/to/local/repo'作爲你的URL。此外,如果使用第一種形式,Git將使用硬連接(如果可用)來節省空間。 – kostix