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的名称,看上去也可以不用这个功能, 如果用的话,当然是最好。
1.5 本地库与中央库相关推荐
- Git-本地库与中央库
本地库与中央库 中央库的管理 裸仓库 本地库与中央库 Git在本地机器就可以进行版本控管的功能, 但Git更强大之处就是分布式.像传统的集中式版本控管工具一样,在远端服务器上安装一个Git版本库作为中 ...
- nexus 离线下载中央库索引
nexus可以在线更新中央仓库索引,但是更新速度慢,而且很有可能下载的索引不全.下面介绍一种离线更新中央仓库索引的方式,速度快并且可靠. 1.访问http://repo.maven.apache.or ...
- 快速配置Maven到OSChina中央库的教程
2019独角兽企业重金招聘Python工程师标准>>> 首先,感谢OSChina为我们提供了国内的 Maven 中央库,免去了偶尔无法连接国外Maven库蛋疼的问题,小弟首先在此表示 ...
- 基于bitbucket中央库的Git操作
clone cd D:\devworkspace\gitworkspace git clone http://username@stash/scm/testproject.git 新增一个文件 2.1 ...
- 使用Android Studio将开源库发布到Jcenter中央库
首先在 https://bintray.com 注册一个账号,登录后然后从其后台获得一个API Key 在你的项目根目录下的build.gradle文件中加入依赖,最后文件内容就变成了这样子. bui ...
- Android textview设置ttf字体库本地库和网络库使用的两种方式
一:从assets中加载 将相关ttf字体库放入assets/fonts文件夹下,注意ttf文件名称不能是中文 // 加载assets中的字体 TextView textView1 = (TextVi ...
- 【android】系统库:framework+本地库(-java)+java库(与jre的子集兼容)
Android includes a set of core libraries that provides most of the functionality available in the co ...
- 生成一个GitHub的token用于git推送本地库至远程库
1 一步步选择设置 2 使用链接直接跳转到最后一步的设置页 git push 的时候需要token,所以在GitHub上生成一个临时的token 1 一步步选择设置 2 使用链接直接跳转到最后一步的设 ...
- Maven基础知识--Maven资源库详述
什么是Maven资源库? 在 Maven 术语里存储库是一个目录,即目录中保存所有项目的 jar 库,插件或任何其他项目特定文件,并可以容易由 Maven 使用. Maven库中有三种类型 local ...
最新文章
- windows杀死指定端口号
- Ubuntu 14.10安装libvirt KVM
- MySQL(四)索引的使用
- C#中 类和结构 值类型和引用类型以及 值传递和引用传递
- blob类型_MySQL:创建表时如何选择合适的字段类型
- 一则 Oracle 和 SqlServer 语法区别 (原创)
- 五笔字根表识别码图_86版五笔字根表及口诀(最新图文版)
- 角度计算公式 角度换算 想知道1是多少度; 度和弧度的关系 弧微分: 曲率,曲半径,曲率圆:
- CSDN博客图片去水印
- java.sql.BatchUpdateException
- zencart如何更换模版
- WebViewJavascriptBridge
- UVA 1665	 Islands
- python合并word表格单元格_Python实战009:读取Word文档中的表格数据及表格合并问题解决...
- ☆苹果MAC OS X ★ 安装双系统☆
- 结构方程模型的R语言实现
- 剑魂之刃登录显示服务器异常,剑魂之刃新手问题汇总
- 【大赛八卦】2020国际初中生信息学竞赛中国代表队蝉联团体总分第一和金牌人数第一
- 浅谈发票识别方案-开篇
- AppsFlyer 研究(十四)创建 Facebook App 获取FaceBook App ID
热门文章
- keepalived + LVS实现高可用负载均衡集群
- mysqlinsert触发器的创建
- mysql删除重复记录语句的方法
- [九度][何海涛] 变态跳台阶
- 《算法与数据结构---C语言描述》优先队列
- 过程日志定位疑难问题
- SilverLight学习笔记--关于Silverlight资源文件(如:图片)的放置位置及其引用
- 使用Quartus进行功能仿真时出现“testbench_vector_input_file option does not exist”的解决方法
- C# Winform控件对透明图片重叠时导致图片不透明的解决方法
- 【报告分享】数实共生:未来经济白皮书2021-腾讯研究院.pdf(附下载链接)