0

在阅读教程时,我不断听到我需要创建一个称为裸存储库的东西来共享存储库中的所有文件。

我还听说一个裸仓库不包含任何 worfiles。

如果它没有任何工作文件,那么其他用户将在他们的本地计算机上克隆什么???

我目前在我的 linux 服务器中有一个目录,我需要在几个将通过 eclipse ide 访问的用户之间共享该目录。

任何人都可以用简单的话解释上面突出显示的问题。

4

2 回答 2

3

在阅读教程时,我不断听到我需要创建一个称为裸存储库的东西来共享存储库中的所有文件。

当您git push到远程存储库时,您可以覆盖working directory. 为避免这种情况,您可以使用bare甚至没有working directory.

但是,因为没有working directory,你不能repo 中工作,bare你只能push去它和pull从它。这使它成为多个用户的“收集点”或“协作存储库”的理想选择——这就是为什么教程说要为服务器git使用存储库的原因。bare

一个正常的gitrepo 是这样的:

my-repository/
    .git/
        COMMIT_EDITMSG 
        ORIG_HEAD
        description    
        index
        objects
        FETCH_HEAD     
        branches       
        gitk.cache     
        info           
        refs
        HEAD           
        config         
        hooks          
        logs
    file1
    file2

my-repositoryworking directory,包含您处理的文件file1file2。所有git数据都存储在.git文件夹中。

bare存储库上,您没有工作文件夹。您所拥有的只是.git文件夹的内容,存储在该存储库的顶层:

my-bare-repository/
    COMMIT_EDITMSG 
    ORIG_HEAD
    description    
    index
    objects
    FETCH_HEAD     
    branches       
    gitk.cache     
    info           
    refs
    HEAD           
    config         
    hooks          
    logs

这是其他用户克隆的内容。

于 2013-01-08T13:03:26.033 回答
2

我还听说一个裸仓库不包含任何工作文件。

是的。

远程仓库通常是一个裸仓库——一个没有工作目录的 Git 仓库。所有数据都存储在.git目录中,不需要工作目录。这只是一个协作点。

如果它没有任何工作文件,那么其他用户将在他们的本地计算机上克隆什么???

目录中的数据.git将被克隆。

于 2013-01-08T12:36:37.187 回答