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. 本文主要关注 ...
随机推荐
- [基础]sizeof和strlen
转自网络 首先切记,sizeof不能用来求字符串长度 1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型.该类型保证能容纳实现所建立的最大对象的字 ...
- jQuery开发中容易忽视的错误
1.引用jQuery库文件的<script>标签,必须放在引用自定义脚本文件的<script>标签之前,否则,就会发生找不到对象:最好在<head>元素中,把引入样 ...
- 第二百四十九节,Bootstrap附加导航插件
第二百四十九节,Bootstrap附加导航插件 学习要点: 1.附加导航插件 本节课我们主要学习一下 Bootstrap 中的附加导航插件 一.附加导航 注意:此插件要使用 bootstrap3.0. ...
- 借用smtp.qq.com发邮件
至于sentmail和postfix的配置有多么麻烦学生在这里就不多废话了...反正是配置了N个小时,最终弄的头晕眼花也没弄好... 下面的方法可以让你完全摆脱这两个工具...当然,你要是想做邮件服务 ...
- strust2的Action中validateXxx方法的用法
Struts2控制部分时常需要验证来自页面的信息是否合法,若在执行struts2中 public String Xxx()方法操作数据库之前需要验证,ActionSupport提供了一个很好的方法.X ...
- yii2 输出json的方法
public function actionAjax() { if(isset(Yii::$app->request->post('test'))){ $test = "Ajax ...
- POJ 3087 Shuffle'm Up(模拟)
Shuffle'm Up Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7404 Accepted: 3421 Desc ...
- 国际化信息-->MVC
假设我们正在开发一个支持多国语言的Web应用程序,要求系统能够根据客户端的系统的语言类型返回对应的界面:英文的操作系统返回英文界面,而中文的操作系统则返回中文界面——这便是典型的i18n国际化问题.对 ...
- hdu 3667(拆边+最小费用最大流)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3667 思路:由于花费的计算方法是a*x*x,因此必须拆边,使得最小费用流模板可用,即变成a*x的形式. ...
- python3----练习题(爬取电影天堂资源,大学排名,淘宝商品比价)
import requests import re url = 'http://www.ygdy8.net/html/gndy/dyzz/list_23_{}.html' for n in range ...