git学习——<四>git版本管理
一、git版本管理的优势
都说git比svn强大,强大在哪呢?
首先,从部署上说:svn、cvs都是集中式的,一台服务器上部署服务,所有客户端编写的代码都要提交到该服务器上。git是分布式的,所有人都可以从同一个版本库上克隆相同的版本库到自己的机子上。
这有什么好处呢?
1.使用svn和cvs,提交和check代码,你必须和服务器连上网,否则肯定不能用。git本地就是版本库,所以,你不链接其他机子也能提交到版本库中。
2.每个人都有一个版本库,不担心服务器会挂掉。
3.也可以实现一台机子进行代码管理,让一台机子7*24运行着,大家都把自己版本库里的东西提交给它,也从它那里check别人的代码
其次,svn和cvs收集代码,是将每次提交的文件都会保留一个副本,那怕你只有一个空格的改变,也会创建一个新文件,但是git只记录每次修改了什么,没修改的不会记录,这样势必保存的文件小,服务器磁盘压力小。
二、同步远程仓库
我们使用github提供的远程仓库,登录github并创建初始化一个仓库。
1.要使用ssh先创建本地密钥
$ ssh-keygen -t rsa -C"youremail@example.com"
会在/root/.ssh目录下生成id_rsa(私钥)和id_rsa.pub(公钥),然后在github账户里添加公钥文件中的内容到你声明的公钥中。
然后将公钥中的内容添加到github的ssh key中。添加了公钥之后,github就能认识到对版本库的修改是否是你本人了。
注意:在github上创建版本库时,一定要勾选init,否则本地版本库无法连接到该远程库。
2.设置
默认名称是origin
git remote add 名称(随你起,要能记住) git@github.com:michaelliao/learngit.git(自己的库地址)
3.推送
git push 名称(同前面起的名称一致) master
三、克隆远程库
克隆远程库
git clone 地址
git自动把本地的master分支和远程master分支对应起来了,并且,远程仓库的默认名称是origin
推送分支
git push origin master:将本地的master分支推向远程
git push origin dev:将本地的dev分支推向远程
git学习——<四>git版本管理的更多相关文章
- git学习(四) git log操作
git log操作 log命令的作用:用于查看git的提交历史: git log命令显示的信息的具体含义: commit SHA-1 校验和 commit id Author 作者跟邮箱概要信息 D ...
- git学习——<五>git分支
git学习——<一>git安装 git学习——<二>git配置文件 git学习——<三>git操作 git学习——<四>git版本管理 一.提出问题 今 ...
- git学习(四):理解git暂存区(stage)
与一般的版本管理不同的是,git在提交之前要将更改通过git add 添加到暂存区才能提交(git commit).即使是已经交给了git来管理的文件也是如此.这里继续学习git的暂存区. 通过git ...
- git学习四:eclipse使用git提交项目
支持原创:http://blog.csdn.net/u014079773/article/details/51595127 准备工作: 目的:eclipse使用git提交本地项目,提交至远程githu ...
- git 学习(1) ----- git 本地仓库操作
最近在项目中使用git了,在实战中才知道,以前学习的git 知识只是皮毛,需要重新系统的学一下,读了一本叫 Learn Git in a Month of Lunches 的书籍,这本书通俗易懂,使 ...
- Git 学习之Git 基础(二)
Git 基础 读完本章你就能上手使用 Git 了.本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令.读完本章,你就能初始化一个新的代码仓库,做一些适当配置: ...
- Git 学习之 Git Basics
最近在用git,但git学习曲线实在是有点高. 好在找到一个文档 https://www.atlassian.com/git/tutorial/,以下就是学习笔记吧! git init git ini ...
- git学习——<三>git操作
一.创建仓库 创建一个目录 mkdir repository cd到该目录下,初始化该版本库 git init 至此,版本库创建成功,可以在该文件夹下看到.git文件夹,ls -ah可以看到该文件夹. ...
- git 学习记录—— git 中的仓库、文件状态、修改和提交操作等
最近开始学习使用版本控制工具 git .学习方式主要通过阅读 git 网站上的 Pro git 和动手实践,使用的系统为 Ubuntu16.04LTS,以及 Windows 8.1. 本文主要关注 ...
随机推荐
- vuex 定义
vuex是什么? vuex是一个专为vue.js应用程序开发的状态管理模式,它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.Vuex也集成到vue的官方调试 ...
- 一款基于jQuery带事件记录的日历插件
之前我们也已经分享过不少jQuery日历插件,有些应用了CSS3的特性,外观就特别漂亮.今天要分享的这款jQuery日历插件不仅有着绚丽的外观,而且带有日期事件记录功能,点击日期即可展开事件记录窗口, ...
- time函数
time函数 time #include<time.h> time_t time(time_t *t); typdef long int time_t; time() returns th ...
- Memcached 1.4.20 发布,集中式缓存系统
内存缓存Memcached 1.4.20发布.2014-05-12 上一个版本是2014-05-01的1.4.19 此版本只修正了一个1.4.18和1.4.19中引入的Bug. 此版本只是修复了导致 ...
- iBATIS SQL Maps
让我们重回到车辆管理系统和张三的故事中. 在 iBATIS SQL Maps 的世界里也存在 one-to-many.many-to-one 的关系,想必你已经对这些概念驾轻就熟了.好!还是每个 Pe ...
- 要立刷金组flag了T_T
刷了那么多银组,发现自己好多不会啊... 果然太弱 在这感谢hzwer神犇的blog.. 大部分题解都从黄学长这里来orz. orz.... 果然我太水
- Asp.net中的Cache--HttpRuntim.Cache 和 HttpContext.Current.Cache
在ASP.NET中有两个类都提供缓存支持, 一个是HttpRuntime类的Cache属性, 另一个是HttpContext类的Cache属性. 通过查看这两个属性的类型可以发现其实这两个属性都是Sy ...
- iOS 模块化
模块化 1.公共模块 网络层 模型层(基类) 2.mvvm 3.模块化(单元模块,实现单元功能,单元测试) 4.pod 5.路由
- [深入理解Android卷一全文-第八章]深入理解Surface系统
由于<深入理解Android 卷一>和<深入理解Android卷二>不再出版.而知识的传播不应该由于纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容. ...
- phpcms 列表页中调用其下的所有子栏目(或特定的子栏目)的方法
phpcms 列表页中,如何调用其下的所有子栏目(或特定的子栏目),具体的写法如下,感兴趣的朋友可以参考下,希望对大家有所帮助 代码如下: {pc:get sql="select * fro ...