如何创建Git服务器仓库
序
在使用Git时,通常会选择使用一个项目代码托管平台,这样的平台可以有很多选择,比如目前最流行的面向开源及私有软件项目的托管平台是GitHub,还有一些其他优秀的平台,如Atlassian的Bitbucket、GitLab、Coding.NET、开源中国的码云、CSDN.NET等,不仅可以使用Public和Private服务,还可以付费搭建定制服务,不过有些跑题了,本文中只关注使用简单的命令快速搭建共享服务器仓库。另外,关于Git的使用,可以参阅 优雅地使用Git 了解更多内容,这里也不会再涉及Git命令细节。
创建服务器仓库
先创建一个文件夹名为demo.git
,在其中使用命令创建裸仓库(作为服务器仓库):
与使用git init
命令创建的目录不太一样,其中并没有.git
目录,而是直接在工程目录下列出了其他的目录,并且可以查看到config
中的内容bare=true
:
如果期望将普通的Git仓库转换为服务器仓库,可以使用如下命令进行转换,克隆出.git
内容作为服务器仓库:
其中,bare仓库不包含工作区,目录中不包括项目源代码,不能直接在bare仓库上直接提交变更。
连接服务器仓库
假设在本地文件系统中创建,目录位置为~/Documents/git-server/demo.git
,则可以使用以下命令克隆或关联服务器仓库:
如果是使用AWS的EC2这样的服务,若文件目录位置为/home/ec2-user/projects/git-repo.git
,服务器地址为aws.waterstrong.me
,用户名为ec2-user
,则同样可以克隆或关联远程仓库:
在创建bare仓库时,可以在给文件目录命名时加上.git
后缀,也符合平常使用Git地址的习惯,这样,就可以像平常一样使用Git操作了。
总结
平时在使用git init
命令时,是初始化一个普通的Git本地仓库,而为了创建服务器仓库,可以使用git init --bare <repo>
命令,bare仓库没有工作区,不能对其直接提交变更,但可以被正常地clone, push, pull等操作。
References