Git学习0基础篇(下)
server上的 Git - 协议
Git能够使用四种基本的协议传输资料:本地协议(Local)、HTTP 协议、SSH(Secure Shell) 协议以及 Git 协议。眼下使用最普及的是 SSH 协议和 HTTP 协议。
本地协议
本地协议的长处是简单,缺点是不方便从多个位置訪问。
克隆一个本地版本号库,能够运行例如以下命令:
$ git clone /opt/git/project.git
或
$ git clone file:///opt/git/project.git
HTTP 协议
该协议的长处是:不同的訪问方式仅仅须要一个 URL 以及server仅仅在须要授权时提示输入授权信息。这两个简便性让终端用户使用 Git 变得非常easy。
缺点是:在一些server上。架设 HTTP/S 协议的服务端会比 SSH 协议的棘手一些。
SSH 协议
SSH 协议的长处是:架设简单、訪问安全、传输高效。缺点是:不能通过它匿名訪问,即便仅仅要读取数据,使用者也要有通过 SSH 訪问你的主机的权限,这使得 SSH 协议不利于开源的项目。
通过 SSH 协议克隆版本号库的命令:
$ git clone ssh://user@server/project.git
或
$ git clone user@server:project.git
Git 协议
眼下,Git 协议是 Git 使用的网络传输协议里最快的。Git 协议缺点是缺乏授权机制。
server上的 Git - 生成 SSH 公钥
为了向 Git server提供 SSH 公钥,假设某系统用户尚未拥有密钥。必须事先为其生成一份。
高速确认自己是否已拥有密钥:
$ cd ~/.ssh
$ ls
查看是否有一对以 id_dsa 或 id_rsa 命名的文件,当中一个带有 .pub 扩展名。
.pub 文件是你的公钥,还有一个则是私钥。
假设没有密钥,能够用例如以下命令生成:
$ ssh-keygen
关于在多种操作系统中生成 SSH 密钥的更深入教程,请參阅 GitHub 的 SSH 密钥指南 https://help.github.com/articles/generating-ssh-keys。
GitHub - 账户的创建和配置
GitHub 是最大的 Git 版本号库托管商。是成千上万的开发人员和项目能够合作进行的中心。
大部分 Git 版本号库都托管在 GitHub,非常多开源项目使用 GitHub 实现 Git 托管、问题追踪、代码审查以及其他事情。
账户的创建和配置
首先去 https://github.com 站点注冊账号。
其次将生成的 SSH 密钥加入到新申请的账号里。
GitHub - 对项目做出贡献
派生( Fork )项目
假设你想要參与某个项目,可是并没有推送权限,这时能够对这个项目进行“派生”。 派生的意思是指,GitHub 将在你的空间中创建一个全然属于你的项目副本,且你对其具有推送权限。
GitHub流程
GitHub 设计了一个以合并请求为中心的特殊合作流程。
流程通常例如以下:
从 master 分支中创建一个新分支
提交一些改动来改进项目
将这个分支推送到 GitHub 上
创建一个合并请求
讨论。依据实际情况继续改动
项目的拥有者合并或关闭你的合并请求
Git学习0基础篇(下)的更多相关文章
- 一步步学习javascript基础篇(0):开篇索引
索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习javascript基础篇(3):Object.Function等 ...
- 一步步学习javascript基础篇(3):Object、Function等引用类型
我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...
- Python3学习(1)-基础篇
Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 安装(MAC) 直接运行: brew install python3 输入:python3 --v ...
- 【转】WF4.0 (基础篇)
转自:http://www.cnblogs.com/foundation/category/215023.html 作者:WXWinter —— 兰竹菊梅★春夏秋冬☆ —— wxwinter@16 ...
- Git操作(基础篇)
Git操作(基础篇) Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.Git的读音为/gɪt/.Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常 ...
- 【转】Shell编程基础篇-下
[转]Shell编程基础篇-下 1.1 条件表达式 1.1.1 文件判断 常用文件测试操作符 常用文件测试操作符 说明 -d文件,d的全拼为directory 文件存在且为目录则为真,即测试表达式成立 ...
- 前端开发工程师 - 03.DOM编程艺术 - 第1章.基础篇(下)
第1章.基础篇(下) Abstract: 数据通信.数据存储.动画.音频与视频.canvas.BOM.表单操作.列表操作 数据通信(HTTP协议) HTTP事务: 客户端向服务器端发送HTTP请求报文 ...
- Python学习笔记基础篇——总览
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...
- (六)SpringBoot2.0基础篇- Redis整合(JedisCluster集群连接)
一.环境 Redis:4.0.9 SpringBoot:2.0.1 Redis安装:Linux(Redhat)安装Redis 二.SpringBoot整合Redis 1.项目基本搭建: 我们基于(五) ...
随机推荐
- luogu2564 [SCOI2009]生日礼物
排序枚举左端点,则右端点必定不降 #include <algorithm> #include <iostream> #include <cstring> #incl ...
- Notepad++ 使用正则表达式查找替换字符串
最近在改一些别人写的PHP代码,由于之前的代码可维护性比较差,因此工作量比较多,因此想找一些高效的方式改一些有规律的代码. 比如: 我想将一些类似$rowss[MaxGetCash_num], ...
- 如何在 Rails 中搭配 Turbolinks 使用 Vue
[Rails] Vue-outlet for Turbolinks 在踩了 Rails + Turbolinks + Vue 的許多坑後,整理 的作法並和大家分享. Initialize the A ...
- 九度oj 题目1470:调整方阵
题目描述: 输入一个N(N<=10)阶方阵,按照如下方式调整方阵:1.将第一列中最大数所在的行与第一行对调.2.将第二列中从第二行到第N行最大数所在的行与第二行对调. 依此类推...N-1.将第 ...
- kb-09-线段树--区间合并比较繁
/* hdu-1540 题意:一个线段,长度为n,三种操作,Dx,挖掉某个点:R,恢复最近被挖掉的点:Qx查询该点所在的连续区间的长度: 树的节点维护三个变量,该节点左边界开始连续的个数ll,右边界开 ...
- BZOJ1195 [HNOI2006]最短母串 【状压dp】
题目 给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„,Sn)都是T的子串. 输入格式 第一行是一个正整数n(n<=12),表示给定的字符串的 ...
- Java面试之JVM原理总结
1.什么是JVM? 答:JVM是Java Virual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,他是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟计算机功能来实现 ...
- [转] Makefile 基础 (6) —— Makefile 使用条件判断
该篇文章为转载,是对原作者系列文章的总汇加上标注. 支持原创,请移步陈浩大神博客:(最原始版本) http://blog.csdn.net/haoel/article/details/2886 我转自 ...
- 【CF173B】Chamber of Secrets(二分图,最短路)
题意:给你一个n*m的地图,现在有一束激光从左上角往右边射出,每遇到‘#’,你可以选择光线往四个方向射出,或者什么都不做,问最少需要多少个‘#’往四个方向射出才能使关系在n行往右边射出. 思路:将每一 ...
- vue2 父子组件间通信
父组件往子组件传值 props 传text father.vue <template> <div class="father"> {{'我是父组件'}} & ...