我正在使用Sparkleshare,它使用Git在我的笔记本电脑和备份服务器之间同步文件.
现在我希望能够浏览我上传到服务器的文件和目录,但我不知道怎么做?
我知道Git使用某种特殊的文件层次结构而我无法列出我的文件,对吧?
但是如何列出它们并浏览我的文件呢?
这可能已经得到了回答,但我没有找到一个好的答案.
我来自集中式存储库,例如SVN,通常您只执行检出,更新,提交,还原,合并等等.
Git让我发疯.有很多命令,但最难理解的是为什么很多东西都像他们一样工作.
根据"什么是裸git存储库?" :
使用创建的存储库
git init --bare称为裸存储库.它们的结构与工作目录略有不同.首先,它们不包含源文件的工作或签出副本.
...
创建的裸存储库git init --bare用于... 共享....开发人员将克隆共享裸仓库,在其仓库的工作副本中进行本地更改,然后回退到共享裸仓库以使其他用户可以使用其更改.
- Jon Saints,http://www.saintsjd.com/2011/01/what-is-a-bare-git-repository/
但是,从接受的答案"github存储库和git裸存储库之间有什么区别?" :
GitHub上的Git repos是裸的,就像你要推送到[sic]的任何远程仓库一样.
- VonC,https://stackoverflow.com/a/20855207
但是,在GitHub中有源文件.我可以看到他们.如果我创建一个裸存储库,则没有源文件,只有.git工作存储库目录的内容.
这怎么可能?我不明白什么?
您能举例说明为什么我需要一个裸存储库及其以这种方式工作的动机吗?
爱德华汤姆森的回答部分是我想知道的.不过,我会重新提出我的问题:
我发布了第一个链接状态("什么是裸git存储库?"):
它们[裸存储库]不包含源文件的工作或签出副本.
VonC的回答:
GitHub上的Git repos是裸的
两个陈述暗示
Github没有工作副本.
爱德华汤姆森说:
它会在您浏览数据时根据数据呈现网页 - 将数据直接从存储库中提取出来并输出到您的Web浏览器,而不是先将数据写入文件服务器上的磁盘
不知何故,裸存储库必须包含所有数据和源代码.如果没有,那么渲染任何东西都不是不可能的,因为我可以看到所有源代码更新(提交),所有分支(具有各自的源),回购的整个日志等.
存储库的整个数据是否始终位于.git目录(或裸存储库)中,以某种格式可以随时呈现所有文件?这是裸存储库的原因,而工作副本只在给定时间有文件吗?
我一直面临着理解裸存储库的困难.我到处都读到共享的回购是一个简单的回购.为什么它必须是一个简单的回购?它不能是合作者克隆然后推/拉的正常回购吗?