1.5 本地库与中央库

Git在本地机器就可以进行版本控管的功能, 但Git更强大之处就是分布式。像传统的集中式版本控管工具一样,在远端服务器上安装一个Git版本库作为中央版本库(也称为远端库,或是服务端),本地库的改动可以集中的汇总到中央库。即保证了代码的稳定安全,也实现了协同开发。中央库的一般基于Linux系统搭建。

这里写图片描述

中央库

如果项目比较多,或者权限设置较复杂的状况下, 一般会借助一些管理工具对中央库进行管理。为了管理方便,大部分的管理工具基于Web进行管理。像:
Gitblit, http://www.gitblit.com/ . 开源,使用Java开发的。一般是小型的团队使用。
bitbucket,原名Stash, https://bitbucket.org/. 有企业版,也有免费版(5人以下免费,待考)。

如果缺少服务器资源,或者觉得自己搭建中央服务器比较麻烦的话, 现在网络上有很多在线的中央库,注册一个帐号就可以了, bitbucket就有提供在线版。另外比较知名的还有Github, Gitlab。Gttlab也有提供自行安装的软件。

裸仓库

git init 会把当前目录进行版本管理, 会产生一个.git目录。并会把当前目录的文件作为工作区文件。
git init –bare 创建的是一个空目录, 也会产生一个.git目录,但是没有工作用的文件。一般用作服务端库的初始化。目录名以.git结尾。
也叫裸仓库。

git clone从别的仓库克隆,包含了工作目录。

除了git clone之外,如果是一个已经初始化的可以, 也可以通过git remote命令和其他的远程仓库建立联系。进行代码的检出和Push.

使用 git init –bare创建的库,不会建立master的Branch。
初次clone一个裸仓库的话, 使用git branch是找不到任何branch的(远程和本地的都没有,包括master).

如果创建master的话, 会报Not a valid object name: ‘master’的错误。

D:\devworkspace\gitworkspace\mygit\project1>git branch master
fatal: Not a valid object name: ‘master’.

这种状况可以完全不用处理, 只需要添加一个文件, 执行 add 之后,就可以看到本地库master的branch了。

git push之后使用 git branch -a , 就可以看到本地库和远程库的 master branch了。

D:\devworkspace\gitworkspace\mygit\project1>git branch -a
* master
remotes/origin/master

备注: 目前看起来无法查看本地库的branch和远程库的哪一只branch的对应关系。 其实取的时候和推送的时候知道远端的branch的名称,看上去也可以不用这个功能, 如果用的话,当然是最好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oscar999

送以玫瑰,手留余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值