在阅读教程时,我一直听说我需要创建一个名为裸仓库的共享库,用于共享回购库中的所有文件。在GIT中需要一个裸回购
我还听说裸露的回购不包含任何worfiles。
如果它没有任何工作文件,那么其他用户将在其本地机器上克隆什么?
我目前在我的linux服务器有一个目录,我需要在几个用户之间共享,这些用户将通过eclipse ide进行访问。
任何人都可以用普通的词语来解释上面强调的问题。
在阅读教程时,我一直听说我需要创建一个名为裸仓库的共享库,用于共享回购库中的所有文件。在GIT中需要一个裸回购
我还听说裸露的回购不包含任何worfiles。
如果它没有任何工作文件,那么其他用户将在其本地机器上克隆什么?
我目前在我的linux服务器有一个目录,我需要在几个用户之间共享,这些用户将通过eclipse ide进行访问。
任何人都可以用普通的词语来解释上面强调的问题。
我还听说裸露的回购不包含任何工作文件。
是的。
远程仓库通常是一个裸仓库 - 一个没有工作目录的Git仓库。所有数据都存储在.git
目录中,不需要工作目录。这只是一个协作点。
如果它没有任何工作文件,那么其他用户会在他们的本地机器上克隆 ?
来自.git
目录的数据将被克隆。
如果我希望用户通过此裸回购检查具有实际内容的实际文件夹,我需要做什么。 –
@gautamvegeta:从裸露和非裸露的存储库进行克隆的方法相同。用户不需要特别的指示,普通的'git clone'对两者都有效。 –
我听说过我需要post-receive钩子,他们是什么,以及如何设置这些。我听说我可以通过这个裸露的repo使用这个post-receive钩子克隆包含工作文件的实际仓库。 –
在阅读教程时,我一直听说我需要创建一个名为裸仓库的共享仓库中的所有文件。
当您将git push
添加到远程存储库时,您可以覆盖working directory
中的文件。为避免这种情况,您可以使用bare
存储库,该存储库甚至没有working directory
。
然而,因为没有working directory
,你不能在工作的bare
回购,你只能push
它,并从中pull
。这使得它成为多个用户的“收集点”或“协作回购”的理想选择 - 这就是为什么git
教程说要使用服务器的bare
存储库。
正常git
回购看起来是这样的:
my-repository/
.git/
COMMIT_EDITMSG
ORIG_HEAD
description
index
objects
FETCH_HEAD
branches
gitk.cache
info
refs
HEAD
config
hooks
logs
file1
file2
my-repository
是working directory
,包含你file1
的工作文件,file2
等所有的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
这是其他用户复制。
谢谢你的答复。我得到了你的建议。我还有另一个目录包含我想要其他人结帐的实际文件。现在我需要做什么? –
@gautamvegeta:(1)将这些文件提交到存储库。 (2)将提交推送到公共存储库。 (3)告诉其他用户从公共存储库克隆/提取。 –
我听说过我需要post-receive钩子,他们是什么,以及如何设置这些。我听说我可以通过这个裸露的repo使用这个post-receive hook来克隆包含工作文件的实际仓库。 –
你读过[在服务器上获取Git](http://git-scm.com/book/en/Git-on-the-Server-Getting-Git-on-a-Server)吗? – ks1322
是的,但我没有得到裸回购的概念和它的要求。 –