17 如何将普通的Git仓库转换为裸仓库? 如何将“正常” Git存储库转换为裸存储库? 主要区别似乎是: 在普通的Git存储库中,您.git在存储库中有一个文件夹,其中包含构成您的工作副本的所有相关数据和所有其他文件 在裸露的Git存储库中,没有工作副本,并且该文件夹(我们称之为repo.git)包含实际的存储库数据 601 git version-control git-clone git-bare git-non-bare-repository
11 裸仓库和非裸仓库之间的实用区别是什么? 我一直在阅读有关Git中裸机和非裸机/默认存储库的信息。从理论上讲,我还不太了解它们之间的区别,以及为什么我应该“推送”到一个裸仓库。这是交易: 目前,我是唯一在3台不同计算机上从事项目工作的人,但是以后会有更多人参与其中,因此我将Git用于版本控制。我在所有计算机上克隆了裸仓库,当我在其中一台计算机上完成修改时,我提交并将更改推送到裸仓库。根据我的阅读,裸存储库没有“工作树”,因此,如果克隆裸仓库,则不会有“工作树”。 我猜工作树存储了项目中的提交信息,分支等。那不会出现在裸仓库中。因此,对我来说,使用工作树将“提交”提交“回购”似乎更好。 那么,为什么我应该使用裸存储库,为什么不使用?实际区别是什么?我想这对更多的人从事一个项目没有好处。 您从事这种工作的方法是什么?有什么建议吗? 213 git repository git-bare
7 编写git post-receive钩子以处理特定分支 这是我当前存放在公司服务器中的裸存储库中的git push origin master 钩子: 该钩子将推到Assembla。我需要的是,当有人将更改推送到我们服务器上的该分支时,仅推送一个分支(理想情况下为master),而忽略推送到其他分支。是否可以从裸仓库中选择分支,然后仅将该分支推送到Assembla? 107 git repository hook git-bare
4 如何取消提交git裸存储库中的最后一次提交? 考虑到有几个git命令在裸存储库中没有意义(因为裸存储库不使用索引并且没有工作目录), git reset --hard HEAD^ 不能取消提交此类存储库中的最后更改的解决方案。 通过互联网搜索,所有我能找到相关的话题就是这个,在我提出这样做的方式有三种: 1。“手动更新裁判(其中涉及水暖)”; 2.“ git push -f来自非裸仓库”; 3.“ git branch -f this $that”。 您认为哪种解决方案更合适,或者还有其他解决方案?不幸的是,我发现的有关git裸存储库的文档相当差。 91 git repository commit reset git-bare
8 如何将裸git存储库转换为普通的(就地)存储库? 我有一个裸露的git存储库,但需要通过ssh(在类似于用户体验的文件管理器中)访问和浏览其内容。 我想我可以克隆它: git clone -l <path_to_bare_repo> <new_normal_repo> 但是,我的存储库大小约为20GB,我没有足够的空间来复制它。有没有一种方法可以将裸存储库原位转换为最终的工作副本? 81 git git-bare